SQL Like Abfrage in doppelten Prozentzeichen

Aus Contao Community Documentation


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

God: "what is your job?"
me: "i am a software developer ... i develop websites with Contao 3"
God: "sounds cool, what are you working on today? Web sockets? Ajax? HTML5 video streaming?"
me: "no, i am trying to send an email ...."

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge