SQL Like Abfrage in doppelten Prozentzeichen

Aus Contao Community Documentation

Version vom 3. Oktober 2010, 17:09 Uhr von Manitougs (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)


betrifft
TYPOlight Version ab 2.6
Contao Version ab 2.9

Eine Like Abfrage in doppelten Prozentzeichen eingeschlossen ist ein bisschen trickreich zu lösen. Will man dieses SQL Statement umsetzen:

SELECT * FROM tl_xyz WHERE title LIKE %Suchbegriff%;

muss man wegen der automatischen Apostrophierung die Prozentzeichen mit in den Parameter verlagern:

$this->Database->prepare("SELECT * FROM tl_xyz WHERE title LIKE ?")
               ->execute('%Suchbegriff%');

bzw. mit Inhalt des Suchbegriffes in der Variable $varKeyword:

$this->Database->prepare("SELECT * FROM tl_xyz WHERE title LIKE ?")
               ->execute('%'.$varKeyword.'%');

Natürlich kann man hier auch das eine oder andere Prozentzeichen weglassen, wenn man in den Daten am Anfang oder Ende eines Datenfeldes suchen möchte.



--BugBuster 13:16, 9. Jul. 2010 (CEST)

Ansichten
Meine Werkzeuge

Contao Community Documentation

noch 4 mal das Wort Abstraktion und ich beginne Zigaretten zu rauchen...

Martin Mildner
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge