MySQL - 这个和这个或者这个

时间:2013-01-04 18:29:03

标签: php mysql

这是针对更新字段的,我正在检查以确保编号AND关键字 - >或者存在广告系列名称以防止重复。

此查询未按预期执行:

$STH = $DBH->prepare("
    SELECT * 
    FROM campaigns 
    WHERE number = :number AND keyword = :keyword
    OR name LIKE :name"
);

我希望它检查是否(number = number AND keyword = keyword)OR(name = name) - 由于两个不同的语句与彼此无关。即使我将它们包在括号中,我仍然得不到正确的结果。

任何帮助?

2 个答案:

答案 0 :(得分:4)

LIKE 如果它不应该像 = 运算符

那样需要%
SELECT * FROM campaigns WHERE (number = :number AND keyword = :keyword) OR name LIKE %:name%"

答案 1 :(得分:1)

尝试就好了

     $STH = $DBH->prepare("SELECT * 
                   FROM campaigns 
                   WHERE (number = :number AND keyword = :keyword)
                   OR name LIKE :name"
                   );