2010-02-05 4 views
1

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

$query = "SELECT * 
      FROM epguide 
      WHERE EpisodeTitle LIKE '%$trimmed%' 
       OR Synopsis LIKE '%$trimmed%' 
       OR Notes LIKE '%$trimmed%' 
     ORDER BY o"; 

Это работает нормально, но когда я добавить «Series =„$ сер“И» он останавливается:

$query = "SELECT * 
      FROM epguide 
      WHERE Series = '$ser' 
      AND EpisodeTitle LIKE '%$trimmed%' 
       OR Synopsis LIKE '%$trimmed%' 
       OR Notes LIKE '%$trimmed%' 
     ORDER BY o"; 

Похоже, что он должен работать. Что я могу сделать, чтобы исправить это?

ответ

3

Использование:

SELECT * 
    FROM epguide 
    WHERE Series = '$ser' 
    AND (EpisodeTitle LIKE '%$trimmed%' 
      OR Synopsis LIKE '%$trimmed%' 
      OR Notes LIKE '%$trimmed%') 
ORDER BY o 

Вам нужны скобки для разделения операторов/групп в рамках пункта WHERE.

+0

Спасибо, только то, что мне было нужно – Zack

2

Вы будете нуждаться, чтобы решить, будет ли означать, что вы

SELECT * FROM epguide WHERE (Series = '$ser' AND EpisodeTitle LIKE '%$trimmed%') OR Synopsis LIKE '%$trimmed%' OR Notes LIKE '%$trimmed%' ORDER BY o 

или

SELECT * FROM epguide WHERE Series = '$ser' AND (EpisodeTitle LIKE '%$trimmed%' OR Synopsis LIKE '%$trimmed%' OR Notes LIKE '%$trimmed%') ORDER BY o 

и изменить запрос соответствующим образом.

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