PHP mysqli condition greater than or less than sym

2019-08-21 19:23发布

问题:

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

回答1:

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 ?



回答2:

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

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


标签: php mysqli