2012-01-11 2 views
3

У меня есть SQL заявление:где OR, где MySQL - MySQL запросов с двумя, где положения

$sql =" SELECT DISTINCT 
      scr.* 
     FROM scr 
      LEFT JOIN `users` ON `users`.user_id=scr.user_id 

     WHERE $email_filter LOWER(scr.genre) LIKE '%$search_word_fix%' **HERE** $psez protage $wwc $prevoption $locatio $rats $rat1 $rat2 $rat3 $rat4   
     GROUP by scr.sp_name 
     ORDER BY scr.grade DESC"; 

, когда я добавляю ниже (scr.classification) как '% $ search_word_fix%' в "ЗДЕСЬ" он не отображает правильные результаты. Я думал что-то вроде (где scr.genre = "searchkeyword" и другие фильтры здесь) ИЛИ (где здесь scr.classification = "searchkeyword" и другие фильтры здесь)

+0

Да, вам нужна 'AND' или' OR' между условиями в файле 'WHERE 'clause. – FrustratedWithFormsDesigner

+1

Я не знаю вашего сценария: но не забудьте очистить любой пользовательский ввод, прежде чем передавать его в запрос. – TimWolla

+1

'mysql_real_escape_string'! Используй это! – Halcyon

ответ

7

Укажите только один раз. Дополнительные положения указаны только с «или» и «и»

Используйте parans для группового порядка операций

where (scr.genre = "searchkeyword" and other filters here) 
OR (scr.classification ="searchkeyword" and other filters here) 
+0

да, отлично сработало спасибо – cppit

Смежные вопросы