假设我有这样的代码:
SELECT * FROM tbl WHERE ? ORDER BY id desc limit 1
$query = $this->prepare($q);
我需要将以下条件置于where条件:
(id=1 and age=20) or (x=50 and y='yes')
但是$query->execute(array("(id=1 and age=20) or (x=50 and y='yes')"));
没有获取任何vaues。
如何为'where'子句条件提供准备好的语句。请帮我解决。
答案 0 :(得分:1)
输入参数将是值而不是表达式..您可以尝试以下...
SELECT * FROM tbl WHERE (id=? and age=?) or (x=? and y=?) ORDER BY id desc limit 1
$query = $this->prepare($q);
$query->execute(array(1, 20, 50, 'yes'));