Ich habe eine Abfrage:Wie kann ich "Variablen" WHERE-Klauseln in eine Abfrage einfügen?
SELECT * FROM table_name WHERE name=? surname=? gender=?;
und ich habe die Saiten in die Abfrage zu injizieren (verwende ich die vorbereitete Anweisung), aber das Problem ist, dass diese drei Klauseln sind variabel; Ich kann 0, 1 oder auch alle 3 Klauseln basierend auf der Eingabe, die der Benutzer macht, aktiv haben.
Wie kann ich jeden von ihnen "ignorieren", wenn der Benutzer nichts dafür eingibt?
Danke an alle!
EDIT: es ist auch gut, wenn jemand weiß, wie manStrin() zu einem preparedStatement setzt, ohne ihn ' '
um die Zeichenfolge setzen zu lassen.
dynamisches SQL für den Gewinn. –
Bereiten Sie alle sieben möglichen Kombinationen vor (8, wenn keine Klausel ebenfalls eine Option ist), oder erstellen Sie die Abfrage dynamisch. – RealSkeptic
Mögliches Duplikat von [Vorbereitete Anweisung mit dynamischer Where-Klausel] (http://stackoverflow.com/questions/15405288/prepared-statement-with-dynamic-where-clause) – Berger