Я получаю следующую странную проблему в подготовленном операторе mysqli
Это мой примерный запрос и параметры
SELECT * from ecf_request WHERE id > ? OR id < ? ... $stmt->bind_param("ii", $id, $id1); //5, 10
Когда я использую just =
условия, он работает нормально, но для >
и <
условий он не работает. Я получаю сообщение "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 ?
SELECT * from ecf_request WHERE id BETWEEN ? AND ?
Вы можете использовать инструкцию BETWEEN. Вот пример:
SELECT * FROM `ecf_request` WHERE `id` BETWEEN ? AND ?