mysql fetch array php



Mysql цикл

Автор Liii задал вопрос в разделе Другие языки и технологии

цикл while в php и mysql и получил лучший ответ

Ответ от Олег Веревской[активный]
Воопще ты выбрал очень странную конструкцию. Дело в том что это цикл с постусловием, в отличии от while. Если ты в блоке do {...} попробуешь обратиться к $row, то ты всегда будешь получать ошибку (если конечно ты ранее не использовал в подобных целях эту переменную) так как она определяется после прохода блока do. Это первое. Второе. Если запрос вернул пустое множество (0 записей) , то твой цикл выполнится один раз — что глупо и неверно — ты ведь собираешься записи обрабатывать. Ниже приведена правильная констукция.
$result = mysql_query('SELECT * FROM table1');
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
//чё-то делаем
}
Почему у тебя при использовании while теряются строки, сказать трудно не видя всей цепочки обработки. Причиной может быть то, что ты просто прерываешь цикл использую continue, break. Может там условие написано не правильно. А может быть и то, что у тебя есть конструкция вида:
$result = mysql_query('SELECT * FROM table1');
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
//если что-то то прерываем цикл
if (....) {
break; // или continue
}
}
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
//и снова побежал — курсор уже будет находится не вначеле ровсета, а там где он остановился при выполненпии прошлого цикла.
}

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: цикл while в php и mysql
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*