У меня есть запрос:Как я могу ввести «переменные» предложения WHERE в запрос?
SELECT * FROM table_name WHERE name=? surname=? gender=?;
, и я должен вводить строки в запросе (я использую подготовленное заявление), но проблема в том, что эти 3 статьи являются переменными; Я могу иметь 0, 1, а также все 3 предложения, действующие на основе ввода, который пользователь делает.
Как я могу «игнорировать» каждый из них, если пользователь ничего не вводит для этого?
Спасибо всем!
РЕДАКТИРОВАТЬ: это также хорошо, если кто-либо знает, как setStrin() для подготовленного элемента, не позволяя ему помещать ' '
вокруг строки.
динамический SQL для победы. –
Либо подготовьте все семь возможных комбинаций (8, если предложение не является также опцией), либо постройте запрос динамически. – RealSkeptic
Возможный дубликат [Подготовленный оператор с предложением dynamic where) (http://stackoverflow.com/questions/15405288/prepared-statement-with-dynamic-where-clause) – Berger