简体   繁体   中英

PHP mysqli condition greater than or less than symbol error

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

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 ? SELECT * from ecf_request WHERE id BETWEEN ? AND ?

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM