Intereting Posts
PHP: Как я могу захватить один файл из каталога без сканирования всего каталога? Как отображать динамический контент из удаленного файла в bootstrap modal с помощью php? Push-уведомления в PHP с использованием Amazon SNS / SQS? Пустые переменные перед публикацией с помощью jQuery ТОЛЬКО Как преобразовать большую строку данных изображения base64 обратно в образ с помощью PHP? Ошибка с картами google api3 Инъекционная инъекция с помощью гидратора Doctrine 2 Почему мой запрос PUT HTTP преобразуется в GET Причины, чтобы избежать модификаторов доступа в php Некоторые аякс помогают? MySQL: mysql_fetch_assoc (): предоставленный аргумент не является допустимым ресурсом результата MySQL API REST: запрашивать тело как данные JSON или plain POST? Поддержка Sonata для Symfony2 IcePHP не может открыть общий объектный файл: нет такого файла или каталога в Unknown в строке 0 очистить сайт с защищенным входом

Предупреждение: назначение в состоянии

Одна вещь, которая всегда меня беспокоила, заключается в том, что при проверке моих скриптов php для проблем возникает предупреждение «bool-assign: Assignment in condition», и я получаю их много. например:

$guests = array(); $sql = "SELECT * FROM `guestlist`"; $result = mysql_query($sql); while($row = mysql_fetch_assoc($result)) $guests[] = $row['name']; 

Есть ли другой способ получить несколько или все строки в объект или массив? Или нет ничего плохого в этом методе?

попробуйте сделать это вместо этого:

 $guests = array(); $sql = "SELECT * FROM `guestlist`"; $result = mysql_query($sql); while(($row = mysql_fetch_assoc($result)) !== false) $guests[] = $row['name']; 

Я считаю, что php предупреждает из-за $ row = mysql_fetch_assoc ($ result), не возвращающего логическое значение.

На самом деле, я считаю, что это предупреждение, потому что вы можете ошибаться. Обычно в условном выражении вы имеете в виду:

 if (something == something_else) 

Но легко ошибиться и пойти:

 if (something = something_else) 

Так что это, вероятно, предупреждает вас. Если PHP вообще что-то вроде C, вы можете исправить свою проблему с помощью набора круглых скобок вокруг вашего оператора, например:

 while(($row = mysql_fetch_assoc($result))) 

Я считаю, что ответ Джереми немного отстал, потому что PHP свободно напечатан и, как правило, не беспокоится о таких различиях.