SQL Like Abfrage in doppelten Prozentzeichen

Aus Contao Community Documentation

Version vom 16. März 2017, 10:09 Uhr von Andreas (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) http://de.contaowiki.org/SQL_Like_Abfrage_in_doppelten_Prozentzeichen


Im Auflistungsmodul im Feld Bedingung kann man Prozentzeichen mit doppelten Prozentzeichen maskieren.

... LIKE '%%foo%%' ...

--Andreas Burg (Diskussion) 10:09, 16. Mär. 2017 (CET)

Ansichten
Meine Werkzeuge

Contao Community Documentation

Dann sollte da auch 3.1.5 stehen. Wenn nicht mach mal Systemwartung, dreh dich im Kreis, ruf: "uga uga uga" und opfer ein kleines huhn... aber nur ein KLEINES, ist ja kein major.

Marc Reimann
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge