مشکل در اجرای کد

پرسیده شده
فعالیت 947 روز پیش
دیده شده 445 بار
0

سلام و عرض خسته نباشید 

 

من برای عمل گزارش گیری همانطور که استاد از حلقه while  استفاده کردن در کد خودم از حلقه while  استفاده کردم و از متد fetch_assoc برای گرفتن مقادیر استفاده کردم اما در خروجی فقط اطلاعات ردیف هایی که id فرد دارند نمایش داده می شوند !

کد زیر مربوط به صفحه ایجاد ارتباط با پایگاه داده ای به نام world۳ هست

<?php

$world3 = new mysqli("localhost","root","","world3");

// world3 connection check
$connectLog = ($world3 -> connect_errno) 
? $world3 -> error.PHP_EOL
:"world3 is connected".PHP_EOL;
// echo $connectLog;
// 

// set utf_8 chars for world3
$world3->set_charset("utf8");
// 

و این هم صفحه ای که کد های مربوط به کوئری select را در آن نوشتم

<?php 

include "connect.php";

$sqlQuery = "
select * from people; 
";

$select = $world3 ->query($sqlQuery);

echo '<pre>';
while($select -> fetch_assoc() ){
    print_r($select -> fetch_assoc());        
}
echo '</pre>';

تو فایل های ضمیمه هم خروجی کد ها و نمایی از جدول people  که کوئری select را بر روی آن اجرا کردم قرار دادم

نکته جالبش این بود که یک بار به جای حلقه while از do while استفاده کردم و این بار فقط ردیف هایی که id زوج داشتند

برایم نشان داده شد :)

<?php 

include "connect.php";

$sqlQuery = "
select * from people; 
";

$select = $world3 ->query($sqlQuery);



    echo '<pre>';
    do {
        print_r($select -> fetch_assoc());
    } while ($select -> fetch_assoc());
    echo '</pre>';

  اگه امکانش هست لطفا ایرادی که وجود داره رو بهم بگین ممنون !! 

 

فایل پیوست
select query.zip
142.77 KB

1
حذف شده

سلام و احترام

هم درون شرط حلقه و هم داخل statement حلقتون شما fetch_assoc رو صدا میزنید، ینی دوبار صدا میزنید، یک بار داخل خود شرط حلقه باید باشه:

    while ($row = $result->fetch_assoc())
    {
       echo $row['id'];   
    }
فایل پیوست

امیر صالحی

توسط

امیر صالحی

21 مهر 00

حذف شده
بله الان چک کردم حق با شما بود خیلی ممنون بابت پاسخگویی :)
حذف شده
خواهش میکنم
امیر صالحی

22 مهر 00