找到WHERE子句中的哪一个成功

时间:2014-04-16 14:50:24

标签: php mysql

我有一个查询,我在这样的WHERE之后使用OR。

SELECT * FROM blah WHERE id='$id' OR name='$name' 

查询成功但我需要知道查询成功,id或名称。有没有办法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

好吧,你可以查看结果(即if( $result['id'] == $id)

或者在MySQL中执行此操作:

SELECT *, `id` = :id as `idmatched`, `name` = :name as `namematched`
FROM `blah` WHERE `id` = :id OR `name` = :name

注意:使用命名参数和东西。 PDO擅长的是^ _ ^

答案 1 :(得分:1)

如果您在查询结果中需要它,您可以执行以下操作:

SELECT blah.*,
       (CASE WHEN id='$id' THEN 1 ELSE 0 END) first_condition,
       (CASE WHEN name='$name' THEN 1 ELSE 0 END) second_condition,
FROM blah
WHERE id='$id' OR name='$name'