سلام.
1جدول اعضا دارم وقتی می خام عضوی بهش اضافه کنم اول select میکنم که کسی دیگه اون id را نداشته باشه اگه query select چیزی برنگردوند عضو جدید را insert میکنم!
حالا اگه همزمان دو نفر بخواهند با یک id یکسان عضو شوند چی میشه؟(تراکنش می خایم؟؟)
یه سوال دیگه ؟!
شرط انجام insert اینه که وقتی از جدول اعضا select کردم که آیا چنین id وجود دارد ، Query مربوط به این select چیزی برنگردونه یعنی مثلا اگه mysql_num_rows($result ) == 0 بود insert کن.
حالا مشکل این جاس که اگه id تکراری نباشه پس از انجام insert از بلوک if ، بلوک else را هم اجرا می کنه و در واقع فقط پیام های بلوک else را چاپ می کند و دلیلش هم اینه که چک کردم مقدار $num را 1 کرده!!!
گیج شدم! یعنی ابتدا شرط برقرا شده insert کرده سپس شرط یعنی همان مقدار $num (با اضافه شدن رکورد به جدول) فرق کرده شده 1 و در نتیجه بلوک else اجرا شده؟!!!!!!!!!!!!!
1جدول اعضا دارم وقتی می خام عضوی بهش اضافه کنم اول select میکنم که کسی دیگه اون id را نداشته باشه اگه query select چیزی برنگردوند عضو جدید را insert میکنم!
حالا اگه همزمان دو نفر بخواهند با یک id یکسان عضو شوند چی میشه؟(تراکنش می خایم؟؟)
یه سوال دیگه ؟!
شرط انجام insert اینه که وقتی از جدول اعضا select کردم که آیا چنین id وجود دارد ، Query مربوط به این select چیزی برنگردونه یعنی مثلا اگه mysql_num_rows($result ) == 0 بود insert کن.
PHP:
$query= "select id from member where id='$nam'";
$result=mysql_query($query,$db);
$num=mysql_num_rows($result);
if($num==0)
{
echo "<br>"."insert enable"."<br>";
//$query2 = insert .....
$result2=mysql_query($query2,$db);
if( !$result2)echo "not insert."<br>";
}
else
{
echo "<br>"."id is not unique";
// echo $num;
}
حالا مشکل این جاس که اگه id تکراری نباشه پس از انجام insert از بلوک if ، بلوک else را هم اجرا می کنه و در واقع فقط پیام های بلوک else را چاپ می کند و دلیلش هم اینه که چک کردم مقدار $num را 1 کرده!!!
گیج شدم! یعنی ابتدا شرط برقرا شده insert کرده سپس شرط یعنی همان مقدار $num (با اضافه شدن رکورد به جدول) فرق کرده شده 1 و در نتیجه بلوک else اجرا شده؟!!!!!!!!!!!!!