PDA

View Full Version : دوبار fetch کردن اطلاعات دیتابیس با pdo - بار دوم واکشی نمیکنه چرا؟



<?php?>
سه شنبه 17 فروردین 1395, 08:23 صبح
من یک صفحه طراحی کردم که دو بخش داره - سمت راست فرمی هست که اطلاعات کاربر گرفته میشه و insert میشه - سمت چپ اطلاعات رو fetch میکنم و تو جدول میریزم و حذف و یا ویرایشش میکنم .
مشکلم اینجاست که میخوام وقتی کاربر فرم رو پر میکنه و نام کاربری خودشو انتخاب میکنه - از دیتابیس نام کاربریشو بررسی کنم تا تکراری نباشه و بعدش اجازه ثبت بدم بهش .
منم از این چند خط کد برای برررسی استفاده کردم :



$user="";
while ($rows=$result->fetch(PDO::FETCH_ASSOC)){
if($rows['username']==$index['username']){
$user="tekrar";
break;
}
}
------
if($user=="tekrar"){
echo "<script>$('.pusername').css({'display':'block'});$('.puser name span').text('نام کاربری شما قبلا ثبت شده است !');</script>";
}


اما کلا این fetch أومی اصلا کار نمیکنه - بررسی کردم . تو یک صفحه مگه نمیشه دوبار اطلاعات یک جدول رو fetch کرد؟

من از دستورهای زیر استفاده میکنم و درست عمل میکنن و مشکلمو حل کردن . ولی هنوز برام سواله که روش بالا چرا نمیتونه تکراری بودن نام کاربری رو بررسی کنه ؟



$result2=$connect->query("SELECT `username` FROM `signup` WHERE `username`='".$index['username']."'");
$rowcount=$result2->rowCount();
else if($rowcount>0){
echo "<script>$('.pusername').css({'display':'block'});$('.puser name span').text('نام کاربری شما قبلا ثبت شده است !');</script>";
}

ممنون

aaaaaaaa1
سه شنبه 17 فروردین 1395, 10:08 صبح
دوست عزیز شما نباید از esle if به اینصورت بکار میبدید درستش elseif به هم چسبیده هستند . احتمالا برای این مورد هست که کد دوم عمل نمیکنه ارور لاگ رو هم چک کنید.