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) 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)