SQL Like Abfrage in doppelten Prozentzeichen: Unterschied zwischen den Versionen
Aus Contao Community Documentation
(Die Seite wurde neu angelegt: „Eine Like Abfrage in doppelten Prozentzeichen eingeschlossen ist ein bischen trickreich zu lösen. Will man dieses SQL Statement umsetzen: <pre> SELECT * FROM tl_…“) |
K |
||
| Zeile 1: | Zeile 1: | ||
| + | [[Category:Dev HOWTOS]] | ||
| + | [[Category:Dev Snippets]] | ||
| + | {{AppliesTo|TLVersion=ab 2.6|Version=ab 2.9}} | ||
Eine Like Abfrage in doppelten Prozentzeichen eingeschlossen ist ein bischen trickreich zu lösen. Will man dieses SQL Statement umsetzen: | Eine Like Abfrage in doppelten Prozentzeichen eingeschlossen ist ein bischen trickreich zu lösen. Will man dieses SQL Statement umsetzen: | ||
<pre> | <pre> | ||
Version vom 9. Juli 2010, 12:17 Uhr
| betrifft | |
|---|---|
| TYPOlight Version | ab 2.6 |
| Contao Version | ab 2.9 |
Eine Like Abfrage in doppelten Prozentzeichen eingeschlossen ist ein bischen 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)