|
автор: revis0r (05.04.2005 в 21:13) |
|
| Столкнулся с такой проблемой: SQL-запрос такого вида:
SELECT nickname FROM users WHERE id > 0
не работает как надо. По идее он должен выделить все ники пользователей, у которых id > 0, но он выделяет только пользователя с id=1.
Код такой:
$query = "SELECT nickname FROM users WHERE id>0";
$res = mysql_query($query);
$row = mysql_fetch_array($res);
print($row[1]);
|
Если делать такой запрос из командной строки стандартным скулевым клиентом, то все пашет. | |
|
|
|
|
|
|
|
для: revis0r
(05.04.2005 в 21:13)
| | Простите, а зачем вам это? Разве есть ники меньше нуля?
$query = "SELECT nickname FROM users";
$res = mysql_query($query);
$row = mysql_fetch_array($res);
print_r($row);
|
Выводит в $row одномерный массив со всеми никами. | |
|
|
|
|
|
|
|
для: revis0r
(05.04.2005 в 21:13)
| | Дело в том, что функция mysql_fetch_array возвращает только одну запись, для извлечения всех записей из ответа базы данных, необходимо использовать цикл.
<?php
$query = "SELECT nickname FROM users WHERE id>0";
$res = mysql_query($query);
while($row = mysql_fetch_array($res))
{
print($row[1]);
}
?>
|
http://www.softtime.ru/dic/id_dic=97&id_group=2 | |
|
|
|
|
автор: revis0r (06.04.2005 в 17:21) |
|
|
для: cheops
(05.04.2005 в 22:26)
| | Спасибо, все понял, только как теперь сделать фунцию, типа этой, ведь в качестве результата не может быть массив?
function fetch($query)
{
$res = mysql_query($query);
if($res)
{
while($row = mysql_fetch_array($res))
{
$result[$i] = $row[0];
$i++;
}
}
return $result;
}
|
| |
|
|
|
|
|
|
|
для: revis0r
(06.04.2005 в 17:21)
| | >ведь в качестве результата не может быть массив?
Почему нет, в PHP это вполне допустимо. | |
|
|
|