Php MySQL-这个和这个还是这个

Php MySQL-这个和这个还是这个,php,mysql,Php,Mysql,这是一个更新字段,我正在检查以确保数字和关键字->或活动名称存在,以防止重复 此查询未按预期执行: $STH = $DBH->prepare(" SELECT * FROM campaigns WHERE number = :number AND keyword = :keyword OR name LIKE :name" ); 我想让它检查(number=number和keyword=keyword)或(name=name)-是否是两个彼此无关的不同

这是一个更新字段,我正在检查以确保数字和关键字->或活动名称存在,以防止重复

此查询未按预期执行:

$STH = $DBH->prepare("
    SELECT * 
    FROM campaigns 
    WHERE number = :number AND keyword = :keyword
    OR name LIKE :name"
);
我想让它检查(number=number和keyword=keyword)或(name=name)-是否是两个彼此无关的不同语句。即使我把它们放在括号里,我仍然得不到正确的结果

有什么帮助吗?

像那样试试看

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

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

LIKE如果不应该像=运算符那样工作,则还需要有%

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

LIKE如果不应该像=运算符那样工作,则还需要有%

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

你能举例说明数据库中的数据、预期结果和实际结果吗?你能举例说明数据库中的数据、预期结果和实际结果吗?