Ошибка в PHP при использовании if () для результата MYSQL, не содержащего строк - PullRequest
2 голосов
/ 24 февраля 2012

РЕДАКТИРОВАТЬ: просто чтобы уточнить, что запрос правильный - есть ноль строк - у меня есть проблема, как справиться с этим в PHP с IF, в основном я перебираю строки (10 из них), некоторые будутесть некоторые данные для запроса, а некоторые нет.Страница падает, когда нет строки.Имеет ли это какой-то смысл?

Я знаю, что делаю что-то по своей сути неправильно, и я уверен, что решение простое ...

Запрос MySQL возвращает ZERO строк;

SELECT * from tresults WHERE date = 'MAY2012'

Затем у меня есть следующий PHP-код:

if($row = mysql_fetch_array($result)){
    // do something
}

Теперь, когда запрос возвращает ZERO строк, страница падает на оператор IF ... чтоя делаю неправильно ....

Ответы [ 2 ]

2 голосов
/ 24 февраля 2012

Проверьте количество строк с помощью mysql_num_rows ()

if(mysql_num_rows($result) > 0){
  $row = mysql_fetch_array($result);
}

Или используйте while - обратите внимание, это будет выполняться для каждой строки, если ваш запрос возвращает более одной строки

while($row = mysql_fetch_array($result)){
  // do something
}
0 голосов
/ 24 февраля 2012
$result = mysql_query("SELECT * from tresults WHERE date = 'MAY2012'");

while ($row = mysql_fetch_array($result))
    {
        //do stuff;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...