PHP mysqli condition greater than or less than sym

2019-08-21 19:09发布

I am getting the following strange issue in mysqli prepared statement

This is my sample query and params

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

When i use just = conditions it's working fine but for > and < conditions it's not working. I am getting "Number of variables doesn't match number of parameters in prepared statement" error

Is it possible to use greater than and less than symbols in prepared statements ?

I need to implement it for date filter condition. records between two dates.

Thanks in advance

标签: php mysqli
2条回答
迷人小祖宗
2楼-- · 2019-08-21 19:42

one id cannot be greater and smaller to itself at the same time. you are giving a condition like id >10 and id <10 at the same time.

If you want both id1 and id2 to be selected use SELECT * from ecf_request WHERE id IN(?,?) instead of AND and if you want to select everything in between then use SELECT * from ecf_request WHERE id BETWEEN ? AND ?

查看更多
我命由我不由天
3楼-- · 2019-08-21 19:42

You can use the BETWEEN statement. Here's an example:

SELECT * FROM `ecf_request` WHERE `id` BETWEEN ? AND ?
查看更多
登录 后发表回答