- 1
- 2
- 3
while ($char_list = mysql_fetch_array($char_list_query,MYSQL_ASSOC) or die(mysql_error())) {
echo "<option>{$char_list['name']}</option>";
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+168.5
while ($char_list = mysql_fetch_array($char_list_query,MYSQL_ASSOC) or die(mysql_error())) {
echo "<option>{$char_list['name']}</option>";
}
Других вариантов я у Вас не увидел
Подсказка: die сработает, когда больше не будет записей, т.е. левая половина будет false. PHP ничего не останется как проверить правую часть, т.е. выполнить die
Заодно почитайте, что возвращает mysql_fetch_array когда записи заканчиваются
По вашему, цикл while никогда не может быть завершен (не в данном случае, а без die), так как в условии всегда будет логическое true
по поводу mysql_fetch_array():
Смотрим что она возвращает из мануала по рнр и радуемся!
---------------------------------------------
Описание
array mysql_fetch_array ( resource $result [, int $result_type ] )
Возвращает массив с обработанным рядом результата запроса, или FALSE, если рядов больше нет.
mysql_fetch_array() расширенная
Я что-то не вижу в этих строках, где вы говорите что die не нужен. Исходя из последнего предложения, die сработает только тогда когда будет не правильный запрос, а когда строки закончатся, он не сработает
Я, скорее, не точно выразился, так как die сработает только тогда, когда выберет все записи или их не будет. Но в данном цикле die сработает всегда
> die() сработает в том случае если mysql_fetch_array() не сможет нормально выполнить запрос
А потом меня же тыкаете в мануал и показываете когда же mysql_fetch_array вернет false. Я и до Вас это прекрасно знал
Но при условии, что в функция отработает без ошибок
Я решил на всякий случай проверить на локалке. в первый раз вроде все норм получилось)
Не понял юмора и сделал проверку, все дело в том что функция die при заканчивание сценария выдавала белый экран, при этом до этого все записи выводились)