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 に答える