Проблема с составлением запроса

Zapekank0

Guest
Проблема с составлением запроса

У меня есть поле для ввода критерия поиска пользователем, необходимо чтобы сначала проверялось его наличие, а затем в зависимости от этого критерий добавлялся или нет в запрос. Я это делал следующим образом:

$query = "select ctg_name, aut_fio, bks_title, bks_year, bks_id, bks_udk, pbl_name
from categories, authors, books, authorsbooks, publishers
where abk_aut_id = aut_id
and abk_bks_id = bks_id
and bks_ctg_id = ctg_id
and bks_pbl_id = pbl_id
and ctg_name = '$category'";

if ( !empty($nazvan) )
{ $query += " and ("bks_title = '%$nazvan')";
}

где $nazvan - вводимый пользователем критерий поиска...
После чего у меня выходит ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1.
Подскажите как мне решить эту проблему, плиз
 

PantiL

Guest
Я не понял а ты пытаешься извлечь данные из нескольких таблиц? Почему после FROM несколько названий таблиц?
 

Zapekank0

Guest
Автор оригинала: PantiL
Я не понял а ты пытаешься извлечь данные из нескольких таблиц? Почему после FROM несколько названий таблиц?
Да. А что в этом такого?

-~{}~ 27.11.05 09:14:

Автор оригинала: SiMM
PS: удивительно, что PHP не ругается - отсюда вывод - не надо приводить в форуме код, взятый с потолка.
Почему с потолка?
 

Zapekank0

Guest
А вообще можно так делать или нет? Просто, если я пишу
$query = "select ctg_name, aut_fio, bks_title, bks_year, bks_id, bks_udk, pbl_name
from categories, authors, books, authorsbooks, publishers
where abk_aut_id = aut_id
and abk_bks_id = bks_id
and bks_ctg_id = ctg_id
and bks_pbl_id = pbl_id
and ctg_name = '$category'";
то запрос выполняется...
а если дописываю
$query += " order by binary bks_title asc";
то та же самая ошибка... Разве синтаксис ПХП не позволяет такой операции???
 

Zapekank0

Guest
Автор оригинала: chisto_tolyan
вот в этом кусочке кода, ошибки Parse Error не замечаешь?
Если речь идет про кавычку, то и в следующем случае возникающая ошибка та же...
$query += " and bks_title = '%$nazvan'"

или проблема в чем то другом?

-~{}~ 27.11.05 11:45:

Автор оригинала: _vampiro_
PHP:
$a .='foo';
Спасибо!
Ща тока проблемка одна осталась - почему то не хочет искать с помощью %(критерий)...

-~{}~ 27.11.05 11:56:

bks_title like '%nazvan%' - (решение проблемки с поиском...)

Всем спасибо за помощь! =)
 
Сверху