В PHP resources возвращаются из определенных функций, так что они могут быть переданы в другие связанные с функциями. Примеры включают соединения с базой данных, результаты запросов к базе данных, файлы-манипуляторы и т. Д.
В соответствии с документацией по адресу mysql_query()
запрос SELECT возвращает ресурс. Вы можете взять этот ресурс и передать его нескольким различным функциям.Чтобы получить подсчет строк, вы можете использовать mysql_num_rows()
, чтобы получить результаты запроса, вы можете использовать либо mysql_fetch_array()
, mysql_fetch_assoc()
, либо mysql_fetch_object()
.
Обычный шаблон для работы с результатами базы данных будет выглядеть примерно так:
$result = mysql_query("SELECT * FROM persons"); // run query against database
$count = mysql_num_rows($result); // retrieve a count of the rows in the previous query
while ($row = mysql_fetch_assoc($result)) { // loop through all the rows in the resultset
// use $row['column_name'] to access columns in your resultset
}
Из вашего примера выше:
$result = mysql_query("SELECT COUNT(*) AS num FROM persons"); // run query against db
$row = mysql_fetch_assoc($result); // retrieve the 1 (and only) row
$count = $row['num']; // we needed to alias the COUNT(*) column as `num`