PDA

View Full Version : سوال: جایگزین برای mysqli_fetch_all



hadi-pro1988
چهارشنبه 22 دی 1395, 11:25 صبح
با عرض سلام و خسته نباشید خدمت اساتید محترم
من قبلا یه کدی نوشته بودم که داخلش از mysqli_fetch_all استفاده کرده بودم که سرور گیر میداد که البته درستش کردم و گیرش رفع شد. ولی میخواستم جایگزین اینو پیدا کنم. بهمین خاطر در forum های خارجی گشتم و به این راه حل رسیدم

$data = [];
while ($rows = mysqli_fetch_assoc($result)){
$data = $rows;
}
return $data;

جدولی که میخوام برگردونم دارای فیلدهای id, user_review, date میباشد که میخوام از طریق کلاس همه نتایج رو برگردونم. وقتی از mysqli_fetch_all مقادیر رو برمیگردوندم به این شکل return mysqli_fetch_all($result) اونوقت در جایی که میخواستم ازش استفاده کنم اینو مینوشتم


$reviews = $all_reviews->get_reviews();
foreach ($reviews as $review){?>
<option value="<?php echo $review['id']?>"><?php echo $review['user_review'] . $review['date']?></option>
<?php }?>


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

$data = [];
while ($rows = mysqli_fetch_assoc($result)){
$data = $rows;
}
return $data;

و مثل بالا ازش استفاده کردم ارور Warning: Illegal string offset به همین خاطر فکر کردم شاید associate array برنگردونه و ایندکسشونو نوشتم که اونم ارور Notice: Uninitialized string offset میده به همین خاطر از echo var_dump($reviews); استفاده کردم که دیدم مقادیر به این شکل زیر برگردونده میشن


array (size=3)
'id' => string '1' (length=1)
'user_review' => string 'something' (length=8)
'date' => string 'something' (length=8)

به نظر شما چکار کنم تا بتونم از جایگزین mysqli_fetch_all استفاده کنم؟