Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Проблема в PHP коде

Максим Хаматдинов Знаток (277), на голосовании 1 год назад
Есть код:
  
require_once("connect.php");
$result = mysqli_query($conn, "SELECT * FROM `cards`");
$myrow = mysqli_fetch_assoc($result);


do {
echo 1;
}
while($myrow == mysqli_fetch_assoc($result))
?>
который должен выводить три раза "1", но выводит он только один раз, хотя в таблице 3 записи
Голосование за лучший ответ
Олег Че Мудрец (10833) 1 год назад
Проблема заключается в том, что первый вызов mysqli_fetch_assoc() уже получил первую запись из результата запроса, поэтому в условии цикла while нужно сравнивать со значением, полученным в последующих вызовах mysqli_fetch_assoc():

<?php

require_once("connect.php");
$result = mysqli_query($conn, "SELECT * FROM `cards`");

do {
echo 1;
}
while($myrow = mysqli_fetch_assoc($result));
?>


В данном примере мы сначала вызываем mysqli_fetch_assoc() в цикле do-while, и только потом проверяем условие, что $myrow не равен null. Таким образом, цикл будет выполняться столько раз, сколько записей было получено в результате запроса.
Похожие вопросы