Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: динамический запрос к MySQL
 
 автор: slogan   (28.02.2009 в 17:38)   письмо автору
 
 

Составляю динамический запрос к БД, где пользоваетль выбирает критерии, по которым искать.
Но пользователь может выбрать и не все критерии, тогда значения некоторых переменных будут пустыми... И посто так это, вроде, не работает, поскольку БД начинает искать по критерию пустого значения, которого нет.
Сделал во такую штуку:
$q_beg='"SELECT * FROM equipment ';

 if($equip_type!=''){$q_mid=" equip_type='".$equip_type."' ";}
 if($work_field!=''){
         if($q_mid!=''){$q_mid.="AND work_field='".$work_field."' ";}
         else{$q_mid=" work_field='".$work_field."' ";}
         }
 if($q_mid!=''){$q_str=$q_beg.' WHERE '.$q_mid.'"';}
 else{$q_str=$q_beg.'"';}
  echo($q_str.'<br>');

   $q = mysql_query($q_str);

echo отображет для проверки значение строки $q_str, которая составляется правильно, со всеми необходимыми кавычками и т.д.
но вот mysql_query($q_str); выполнятся чего-то не хочет... вообще ничего не делает...
Есть ли какая идея?

  Ответить  
 
 автор: Trianon   (28.02.2009 в 17:53)   письмо автору
 
   для: slogan   (28.02.2009 в 17:38)
 

Что за странные кавычки в начале и в конце?

  Ответить  
 
 автор: slogan   (28.02.2009 в 18:59)   письмо автору
 
   для: Trianon   (28.02.2009 в 17:53)
 

ну, в полной версии запрос ($q_str), например, получается такой:
"SELECT * FROM equipment WHERE equip_type='rec AND work_field='em' "

соответственно, как я полагаю должно получится что-то в таком духе:
$q = mysql_query("SELECT * FROM equipment WHERE equip_type='rec' AND work_field='em' ");

  Ответить  
 
 автор: slogan   (28.02.2009 в 19:05)   письмо автору
 
   для: Trianon   (28.02.2009 в 17:53)
 

Yo! Man!
Спасибо большое - убрал кавычки - вроде стало работать!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования