我在mysqli prepared语句中遇到以下奇怪问题
这是我的样本查询和参数
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"
错误
是否可以在准备好的语句中使用大于和小于符号?
我需要为日期筛选条件实现它。两个日期之间的记录。
提前感谢
一个id
不能同时大于或小于自身。你同时给出了一个类似id >10
和id <10
的条件。
如果希望同时选择id1和id2,请使用SELECT * from ecf_request WHERE id IN(?,?)
而不是AND
;如果希望选择两者之间的所有内容,则使用SELECT * from ecf_request WHERE id BETWEEN ? AND ?
您可以使用BETWEEN语句。这里有一个例子:
SELECT * FROM `ecf_request` WHERE `id` BETWEEN ? AND ?