Возвращаемые данные и тип mysql_fetch_array () - PullRequest
1 голос
/ 25 июня 2009

Рассмотрим следующие 3 стандартных утверждения

$queryString = "SOME SQL SELECT QUERY";
$queryResult = mysql_query($queryString);
$queryArray = mysql_fetch_array($queryResult);

Вопрос:

Если результирующий набор запроса пуст, каков будет результирующий тип данных и значение $queryArray после выполнения всех трех операторов?

Ответы [ 3 ]

4 голосов
/ 25 июня 2009

со страницы mysql_fetch_array :

Возвращает массив строк, который соответствует выбранной строке, или FALSE, если строк больше нет.

Таким образом, тип данных окончательного возвращаемого значения будет логический .

1 голос
/ 25 июня 2009

Вы должны прочитать прекрасное руководство. Все функции mysql_fetch_* возвращают false, если набор результатов пуст. False - это логический тип, хотя в PHP типы не являются супер-важными.

Возможно, стоит рассмотреть возможность использования PDO вместо mysql_*, потому что он (1) не привязывает ваш код PHP к конкретному поставщику баз данных (например, позволяет тестировать с базами данных sqlite), а (2) PDO более выполняются, чем функции mysql_* в целом.

0 голосов
/ 25 июня 2009

Вы также можете сделать

$ num = mysql_num_rows ($ queryResult);

чтобы узнать, сколько строк возвращается.

Приветствия

...