[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка SQL
Kumirska
Привет Всем!

Не могу понять в чем проблема, делаю поиск по двум таблица стал выдавать ошибку,с одной таблицей работало идеально


$result = mysql_query("SELECT * FROM works,heads WHERE name LIKE'%".$search."%' OR fam
LIKE'%"
.$search."%' OR otch LIKE'%".$search."%' ORDER BY fam",$db);


Сообщение:
Column 'name' in where clause is ambiguous


_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
XCross
названия полей обрамляй в `` и во тут:

LIKE', пробел поставь.

Воощем вот так:

$result = mysql_query("SELECT * FROM `works`, `heads` WHERE `name` LIKE '%".$search."%' OR `fam` LIKE '%".$search."%' OR `otch` LIKE '%".$search."%' ORDER BY `fam`");


_____________
Обмен Ukash на WebMoney
T1grOK
Укажи полный модификатор полей. Похоже у тебя name присутствует в обеих таблицах.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
alex12060
Kumirska

Мускул не понимает с какой таблицы брать.
Делай полную индексацию:

table1.name
table2.text
Kumirska
То есть если у меня 2 таблицы, heads и works и в обеих есть поля name,fam,otch то мне нужно
сделать что-то вроде

$result = mysql_query("SELECT * FROM `works`, `heads` WHERE `works.name` LIKE '%".$search."%'
OR `works.fam` LIKE '%"
.$search."%' OR `works.otch` LIKE '%".$search."%' `heads.name` LIKE
'%"
.$search."%'
OR `heads.fam` LIKE '%"
.$search."%' OR `heads.otch` LIKE '%".$search."%' ORDER BY `fam`");


Извиняюсь если не так понял и написал бред)

_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Игорь_Vasinsky
а ORDER BY обидел

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
Смотри как красиво можно оформить:

$result = mysql_query("SELECT * FROM `works`, `heads` " 
."WHERE `works.name` LIKE '%".$search."%' "
."OR `works.fam` LIKE '%".$search."%' "
."OR `works.otch` LIKE '%".$search."%' "
."AND `heads.name` LIKE '%".$search."%' "
."OR `heads.fam` LIKE '%".$search."%' "
."OR `heads.otch` LIKE '%".$search."%' "
."ORDER BY `anytable.fam`");


прям глаз радуется ;)
кстати оператор бул упущен, я предположил что AND
"AND `heads.name` LIKE  '%".$search."% 


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Kumirska
Игорь_Vasinsky, спасибо! Предположил правильно smile.gif

_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Kumirska
Во блин, он говорит что нет такого поля как 'works.name'

Unknown column 'works.name' in 'where clause'



_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Игорь_Vasinsky
тогда надо про JOIN почитать - объеденяет запросы к нескольким таблицам, я пока его не использовал.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.