Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Onehp
1 / 1 / 0
Регистрация: 20.07.2010
Сообщений: 15
1

Поисковый запрос к БД с UNION

20.07.2010, 13:36. Просмотров 2524. Ответов 8
Метки нет (Все метки)

Нужно, что бы поиск был по 2-м и более таблицам БД, таблицы не связаны. Делал множество разных вариантов, но все четно, помогите пожалуйста

Пример 1:
PHP
1
$result = mysql_query ("SELECT * FROM news WHERE news.text='$search' UNION SELECT * FROM video WHERE video.text='$search'",$db);
Пример 2:
PHP
1
$result = mysql_query("SELECT * FROM news WHERE MATCH(text) AGAINST('$search') UNION SELECT * FROM video WHERE MATCH(text) AGAINST('$search')",$db);
Пример 3:
PHP
1
$result = mysql_query("SELECT id,title,description,date,author,mini_img,view,comments FROM news WHERE MATCH(text) AGAINST('$search') UNION ALL (SELECT id,title,description,date,author,mini_img,view,comments FROM video WHERE MATCH(text) AGAINST('$search'))",$db);WHERE MATCH(text) AGAINST('$search')
Пример 4:
PHP
1
$result = mysql_query("SELECT id,title,description,date,author,mini_img,view,comments FROM news WHERE MATCH(text) AGAINST('$search') UNION ALL SELECT id,title,description,date,author,mini_img,view,comments FROM video WHERE MATCH(text) AGAINST('$search')",$db);
Пример 5:
PHP
1
$result = mysql_query("SELECT id,title,description,date,author,mini_img,view,comments FROM news WHERE MATCH(text) AGAINST('$search') UNION SELECT id,title,description,date,author,mini_img,view,comments FROM video WHERE MATCH(text) AGAINST('$search')",$db);
Простите за кучу моего мусора, но помощь нереально как нужна
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2010, 13:36
Ответы с готовыми решениями:

Поисковый запрос по нескольким столбцам
Пытался искать по форуму, вроде то, что мне нужно не нашел. Есть таблица, нужно осуществить по ней...

Поисковый Запрос
Всем привет. Буду честен. В упор забыл как сравнить две даты в поисковом запросе. Query = {FORM =...

Поисковый запрос
Имеется test.csv Example,luna,x2,1.0 Primer,zoloto,x8,1.2 Test1,serebro,o9,1.1...

Поисковый запрос в урл
Здравствуйте! Возможно ли реализовать такую фишку: При клике юзером на выдаче по моему сайту...

Поисковый запрос. API
Здравствуйте. Не давно появилась необходимость парсинга сайтов по определенному запросу. Перерыл...

8
Vovan-VE
13166 / 6552 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
20.07.2010, 14:51 2
PHP
1
$result = mysql_query("...") or die(mysql_error());
Тогда оно Вам скажет, в чем проблема.
0
Onehp
1 / 1 / 0
Регистрация: 20.07.2010
Сообщений: 15
20.07.2010, 15:03  [ТС] 3
Код ошибки:
You have an error in your SQL syntax near

Всегда забываю добавить код ошибки, вот она, как ни крути всегда эта ошибка, что делать подскажите!? Как правильно обратится к базе?
0
Vovan-VE
13166 / 6552 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
20.07.2010, 15:54 4
Цитата Сообщение от Onehp Посмотреть сообщение
You have an error in your SQL syntax near
"У Вас ошибка в синтаксисе запроса около..." Что там было после near? Давайте текст ошибки полностью.
0
denisov
6 / 6 / 3
Регистрация: 30.01.2010
Сообщений: 31
20.07.2010, 16:02 5
я здесь отписался. там просто добавить MATCH и AGAINST и всё.
0
Onehp
1 / 1 / 0
Регистрация: 20.07.2010
Сообщений: 15
20.07.2010, 18:33  [ТС] 6
Код ошибки:
You have an error in your SQL syntax near 'UNION SELECT * FROM video WHERE video.text='werw'' at line 1

Вот полный код при 1 примере.

Добавлено через 3 минуты
denisov, А как можно сделать поисковую функцию? Спасибо за то что отписал в этой теме

Добавлено через 3 минуты
PHP
1
$result = mysql_query ("(SELECT * FROM news WHERE MATCH(text) AGAINST('$search')) UNION (SELECT * FROM video WHERE MATCH(text) AGAINST('$search'))"
Делаю так...

Код ошибки:
You have an error in your SQL syntax near '(SELECT * FROM news WHERE MATCH(text) AGAINST('Eminem')) UNION (SELECT * FROM vi' at line 1
0
Vovan-VE
13166 / 6552 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
20.07.2010, 18:38 7
Попробуйте
SQL
1
2
3
(SELECT ...)
UNION
(SELECT ...)
Добавлено через 1 минуту
Имена полей и таблиц в ` надо заключить
PHP
1
$result = mysql_query ("SELECT * FROM `news` WHERE MATCH(`text`) AGAINST('$search') UNION SELECT * FROM `video` WHERE MATCH(`text`) AGAINST('$search'))");
0
Onehp
1 / 1 / 0
Регистрация: 20.07.2010
Сообщений: 15
20.07.2010, 18:47  [ТС] 8
Vovan-VE,

PHP
1
Parse error: parse error, unexpected T_STRING in n:\home\localhost\www\hip-hop\news_search.php  on line 42
PHP
1
2
3
41 | <?php $result = mysql_query ("SELECT * FROM news WHERE MATCH(text) AGAINST('$search')")
42 | UNION 
43 | ("SELECT * FROM video WHERE MATCH(text) AGAINST('$search')");
Что теперь не верно?

Добавлено через 4 минуты
Vovan-VE,

PHP
1
<?php $result = mysql_query ("SELECT * FROM `news` WHERE MATCH(`text`) AGAINST('$search') UNION SELECT * FROM `video` WHERE MATCH(`text`) AGAINST('$search')");
Код ошибки:
You have an error in your SQL syntax near 'UNION SELECT * FROM `video` WHERE MATCH(`text`) AGAINST('Eminem')' at line 1
0
Vovan-VE
13166 / 6552 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
21.07.2010, 18:52 9
Пробуйте
PHP
1
<?php $result = mysql_query ("(SELECT * FROM `news` WHERE MATCH(`text`) AGAINST('$search')) UNION (SELECT * FROM `video` WHERE MATCH(`text`) AGAINST('$search'))");
0
21.07.2010, 18:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2010, 18:52

Один поисковый запрос
Здравствуйте! У моего сайта посещаемость около 1000 человек в день. С поисковиков заходит 50-70...

Поисковый SQL запрос
Добрый день! Уже второй день бьюсь головой не могу составить поисковый запрос для своего...

Бюджет на поисковый запрос
Подскажите, есть ли сервисы или программы, которые могут подсчитать, сколько нужно потратить денег,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru