我有一个查询,我在这样的WHERE之后使用OR。
SELECT * FROM blah WHERE id='$id' OR name='$name'
查询成功但我需要知道查询成功,id或名称。有没有办法可以做到这一点?
答案 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'