2

假设我有这样的代码:

 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')"));没有获取任何价值。如何为“where”子句条件放置准备好的语句。请帮我修复它。

4

1 回答 1

2

输入参数将是值而不是表达式..您可以尝试以下..

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'));
于 2013-04-28T03:50:10.623 回答