RSS

  • YouTube
  • LinkedIn
  • Google

Archiv nach dem Monat : PDO

Mehrere Werte verbindlich in PDO-SQL-Anweisung (PDOStatement)

Manchmal müssen wir einen einzelnen Wert über mehrere Spalten suchen, beim Erstellen von SQL-Anweisungen.

Nehmen wir an der folgenden Tabelle

  • [ENTITY_ONE]
    • ID
    • COLUMN_A
    • COLUMN_B
    • COLUMN_C
    • COLUMN_D
    • COLUMN_E

If we need search a single value on columns B,D und E we will need use the following instruction

In PHP code we can do

Gut, this can work but we know that isn’;t the best approach. We need use Binding Values to avoid SQL injection and other malicious treats.

Also, the code can be modified to

Much better, but, when building complex SQL instruction, things can be confusing with lots of arguments and don’;t forget: ORDER MATTERS.

Glücklich kann PDO binden Werte in unterschiedlicher Reihenfolge wenn Bindungen mit benannt werden..

Hmm, seems that this isn’;t good enough. Wir ändern nur die Verwendung von 1-indizierte Platzhalter um eine :benannten Platzhalter. There’;s no gain beyond of code readable and the possibility to bind in any order.

Ja, but now we can do the best approach when using one unique search term in several columns. We can use only one bind to one or more :named placeholders ’;cause PDO is smart and clever. Look our final code here.

Erspart eine Menge Tipparbeit beim Schreiben viele SQL-Anweisung mit demselben argument.