PHP PDO为where子句准备了语句

时间:2013-04-28 03:40:38

标签: php mysql pdo

假设我有这样的代码:

 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'子句条件提供准备好的语句。请帮我解决。

1 个答案:

答案 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'));