Почему я получаю "Идентификатор ресурса №4" при применении print_r() к массиву в PHP?
Возможный дубликат:
Как "эхо" "Идентификатор ресурса №6" из ответа MySql в PHP?
Ниже приведен код:
$result=mysql_query("select * from choices where a_id='$taskid'")or die(mysql_error());
print_r($result);
Я получаю "Идентификатор ресурса №4", любую идею?
После добавления
while($row=mysql_fetch_assoc($result))
{ print_r($row); }
Я только что получил []
Что не так?
Ответы
Ответ 1
Вы пытаетесь напечатать переменную ресурса mysql вместо значений, содержащихся в ресурсе, который он ссылается. Сначала вы должны попытаться извлечь полученные значения с помощью функции, такой как mysql_fetch_assoc()
.
Вы также можете попробовать mysql_fetch_array()
или mysql_fetch_row()
, но я считаю, что ассоциативные массивы довольно приятны, поскольку они позволяют вам получать доступ к своим значениям по имени поля, как в примере Майка.
Ответ 2
mysql_query()
не возвращает массив как описанный в руководстве. Используйте mysql_fetch_array()
, mysql_fetch_assoc()
или mysql_fetch_row()
с помощью $result
. См. Ссылку выше для получения дополнительной информации о том, как манипулировать результатами запроса.
$result = mysql_query('SELECT * FROM table');
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
Ответ 3
$result
- это переменная ресурса, возвращаемая mysql_query
. Подробнее о переменных ресурсов: http://php.net/manual/en/language.types.resource.php
Вы должны использовать другие функции, такие как mysql_fetch_array()
или mysql_fetch_assoc()
, чтобы получить массив результатов запроса.
$resultset = array();
$result=mysql_query("select * from choices where a_id='$taskid'") or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
$resultset[] = $row; // fetch each row...
}
mysql_free_result($result); // optional though...
print_r($resultset);
См:
http://php.net/manual/en/function.mysql-fetch-array.php
http://php.net/manual/en/function.mysql-fetch-assoc.php
http://php.net/manual/en/function.mysql-query.php
Ответ 4
Ресурсы - это специальные типы переменных, используемые PHP для отслеживания внешних ресурсов, таких как соединения с базой данных, файловые дескрипторы, сокеты и т.д.