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 :: выбрать данные сразу из 2х таблиц

 PHP.SU

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


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

> Без описания
foozzi
Отправлено: 04 Ноября, 2012 - 02:18:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


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




пробую выбрать с помощью union данные сразу с двух таблиц и поместить в массив, вот как:
CODE (php):
скопировать код в буфер обмена
  1.  $res = mysql_query("
  2.        SELECT *
  3.        FROM screen
  4.        WHERE id = ".$id."
  5.        UNION
  6.        SELECT *
  7.        FROM comment
  8.        WHERE id = ".$id."");
  9.         $row = mysql_fetch_assoc($res);


выдает Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
что не так?


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
tuareg
Отправлено: 04 Ноября, 2012 - 07:10:16
Post Id


Участник


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


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




Количество полей одинаковое?
 
 Top
foozzi
Отправлено: 04 Ноября, 2012 - 11:13:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


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




tuareg пишет:
Количество полей одинаковое?

нет


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
EuGen Администратор
Отправлено: 04 Ноября, 2012 - 11:59:32
Post Id


Профессионал


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


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




Поэтому и ошибка. Если в union Вы указываете * - то количество полей у всех таблиц должно быть одинаковым. В противном случае нужно перечислять поля через запятую (и, опять же, так, чтобы оно было одинаковым, то есть, например, в той таблице, где их больше, указать не все, а столько, сколько полей в той таблице где их меньше)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB