0

mysqli 準備済みステートメントで次の奇妙な問題が発生しています

これは私のサンプルクエリとパラメータです

SELECT * from ecf_request WHERE id > ? OR id < ?
...
$stmt->bind_param("ii", $id, $id1); //5, 10

条件のみを使用すると=正常に機能しますが、>条件を使用すると<機能しません。"Number of variables doesn't match number of parameters in prepared statement"エラーが発生しています

準備されたステートメントで大なり記号と小なり記号を使用することは可能ですか?

日付フィルター条件に実装する必要があります。2 つの日付の間のレコード。

前もって感謝します

4

2 に答える 2

6

idは同時に自分自身に対して大きくなったり小さくなったりすることはできません。あなたは同時にのようid >10な条件を与えています。id <10

id1 と id2 の両方を選択したい場合はSELECT * from ecf_request WHERE id IN(?,?)代わりに使用ANDし、その間のすべてを選択したい場合は使用しますSELECT * from ecf_request WHERE id BETWEEN ? AND ?

于 2012-07-23T06:33:42.293 に答える
1

BETWEEN ステートメントを使用できます。次に例を示します。

SELECT * FROM `ecf_request` WHERE `id` BETWEEN ? AND ?
于 2012-07-23T06:40:27.210 に答える