PHP mysqli条件大于或小于符号错误

时间:2012-07-23 06:28:46

标签: php mysqli

我在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 个答案:

答案 0 :(得分:6)

一个id同时不能更大更小。 您同时给出了id >10id <10等条件。

如果您想同时选择id1和id2,请使用SELECT * from ecf_request WHERE id IN(?,?)代替AND,如果您想选择其中的所有内容,请使用SELECT * from ecf_request WHERE id BETWEEN ? AND ?

答案 1 :(得分:1)

您可以使用BETWEEN语句。这是一个例子:

SELECT * FROM `ecf_request` WHERE `id` BETWEEN ? AND ?