Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Select-запрос, с выбором нескольких строк

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
BlackHacker
Отправлено: 03 Сентября, 2012 - 15:42:47
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




Всем привет. В общем, проблема в том, что запрос в базу возвращает только один элемент, хотя условиям запроса соответствует две и более строк в таблице.
Запрос принимает следующий вид:
PHP:
скопировать код в буфер обмена
  1. ("SELECT login FROM accounts WHERE owner_id='".$_COOKIE['id']."'")

В правильности запроса уверен на 99%, т.к. несколько раз перечитал faq.
Возвращается только первый подходящий элемент, т.е. значение 'login', хотя в таблице у двух строк owner_id одинаковый.
Буду признателен, если кто-нибудь поможет с решением.
 
 Top
illy
Отправлено: 03 Сентября, 2012 - 15:45:55
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Давно я тут небыл Ниндзя
PHP:
скопировать код в буфер обмена
  1. $q=mysql_query("SELECT login FROM accounts WHERE owner_id='".$_COOKIE['id']."'");
  2. while($m=mysql_fetch_row($q){
  3. echo $m[0];
  4. }


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Vinyl
Отправлено: 03 Сентября, 2012 - 15:48:06
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




Дык а что он должен вернуть?
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $query = mysql_query("SELECT login FROM accounts WHERE owner_id='".$_COOKIE['id']."'");
  4.  
  5. $res = mysql_fetch_assoc($query); //первый результат
  6. $res = mysql_fetch_assoc($query); //второй результат
  7. //и т.д...
  8.  
  9. //циклом:
  10. for($i=0;$i<2;$i++)
  11. {
  12.   $res[] = mysql_fetch_assoc($query)
  13. }
  14.  


Не успел))) Но человеку вроде только два результата надо...
P.S. Ан-нет, не два. Каюсь...

(Отредактировано автором: 03 Сентября, 2012 - 15:52:21)



-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
BlackHacker
Отправлено: 03 Сентября, 2012 - 15:50:56
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




illy, спасибо огромное! только скобку одну пропустил)
Vinyl, нет, надо все результаты, которые в базе) почему-то сразу не подумал, что надо в цикле перебирать. в пхп про функцию написано, что она сразу массив возвращает

(Отредактировано автором: 03 Сентября, 2012 - 15:53:18)

 
 Top
Vinyl
Отправлено: 03 Сентября, 2012 - 15:55:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




BlackHacker пишет:
в пхп про функцию написано, что она сразу массив возвращает

Все верно. Одномерный массив с ячейками одной строки, которая попала под условие запроса =) Следующий запрос - массив с ячейками второй строки, и т.д... Удачи!


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB