Suchmuster fürLIKE in Variabler
Suchmuster fürLIKE in Variabler
am 05.02.2006 16:30:29 von Friedrich Baur
Hallo,
habe alles, was gibt, durchsucht, ohne Ergebnis.
Wie kann ich bei
$sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE \'A%\'';
das Suchmuster 'A%' (oder ein anderes) übergeben, also
$suchmuster = 'A%';
$sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE $suchmuster';
Ich habe schon alle möglichen Variationen probiert, die Richtige war
nicht dabei.
Oder geht das gar nicht?
Freundliche Grüße
Friedrich
Re: Suchmuster fürLIKE in Variabler übergeben
am 05.02.2006 17:27:08 von Axel Schwenke
Friedrich Baur wrote:
> habe alles, was gibt, durchsucht, ohne Ergebnis.
Wirlich alles? Da kannst du noch gar nicht fertig sein ;-)
> Wie kann ich bei
>
> $sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE \'A%\'';
>
> das Suchmuster 'A%' (oder ein anderes) übergeben, also
>
> $suchmuster = 'A%';
> $sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE $suchmuster';
Das ist keine SQL-Frage. Je nachdem, ob du hier Perl oder (vermutlich)
PHP zitiert hast, gehört deine Frage in eine andere passende Gruppe.
Aber vielleicht schaust du ja vorher doch noch mal in die jeweilige
Dokumentation. Passende Stichworte wären "Stringinterpolation" und
vor allem "Quoting".
XL
Re: Suchmuster fürLIKE in Variabler
am 05.02.2006 17:51:32 von Friedrich Baur
Axel Schwenke schrieb:
>
> Friedrich Baur wrote:
>
> > habe alles, was gibt, durchsucht, ohne Ergebnis.
>
> Wirlich alles? Da kannst du noch gar nicht fertig sein ;-)
Hör auf. Ich mach schon ein paar Stunden an dem Mist.
Und es gibt hier in der Gruppe Antworten, die aber nicht funktionieren.
> > Wie kann ich bei
> >
> > $sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE \'A%\'';
> >
> > das Suchmuster 'A%' (oder ein anderes) übergeben, also
> >
> > $suchmuster = 'A%';
> > $sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE $suchmuster';
>
> Das ist keine SQL-Frage. Je nachdem, ob du hier Perl oder (vermutlich)
> PHP zitiert hast, gehört deine Frage in eine andere passende Gruppe.
PHP.
Das haben die auch gesagt und mich hierher geschickt.
> Aber vielleicht schaust du ja vorher doch noch mal in die jeweilige
> Dokumentation. Passende Stichworte wären "Stringinterpolation" und
> vor allem "Quoting".
>
> XL
Danke trotzdem für die Antwort.
Grüßle
Friedrich
Re: Suchmuster für LIKE in Variabler übergeben
am 05.02.2006 19:14:07 von Weinzierl Stefan
Friedrich Baur schrieb:
> Hallo,
>
> habe alles, was gibt, durchsucht, ohne Ergebnis.
>
> Wie kann ich bei
>
> $sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE \'A%\'';
Was sucht das '1 AND' da?
> das Suchmuster 'A%' (oder ein anderes) übergeben, also
>
> $suchmuster = 'A%';
>
> $sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE $suchmuster';
$sql='SELECT `NAME` FROM `links` WHERE `NAME` LIKE "$suchmuster"';
Stefan
Re: Suchmuster für LIKE in Variabler übergeben
am 05.02.2006 19:31:47 von Helmut Chang
Weinzierl Stefan schrieb:
> $sql='SELECT `NAME` FROM `links` WHERE `NAME` LIKE "$suchmuster"';
IMHO gaaanz schlecht. Weil der Stringbegrenzer in SQL ist normalerweise
', nicht ".
gruss, heli
Re: Suchmuster für LIKE in Variabler übergeben
am 05.02.2006 20:33:04 von cmueller
Helmut Chang wrote:
> Weinzierl Stefan schrieb:
>
>> $sql='SELECT `NAME` FROM `links` WHERE `NAME` LIKE "$suchmuster"';
>
> IMHO gaaanz schlecht. Weil der Stringbegrenzer in SQL ist normalerweise
> ', nicht ".
Noch schlechter ist allerdings, dass PHP bei einfachen Hochkommata
den Wert von $suchmuster nicht einsetzt.
Das sollte funktionieren:
$sql = "SELECT `NAME` FROM `links` WHERE `NAME` LIKE '$suchmuster'";
Und bitte nicht vergessen, $suchmuster vorher passend zu escapen,
speziell wenn der Parameter "von außen" gesetzt wird.
Christian.
Re: Suchmuster für LIKE in Variabler übergeben
am 05.02.2006 20:33:37 von Weinzierl Stefan
Helmut Chang schrieb:
> Weinzierl Stefan schrieb:
>
>> $sql='SELECT `NAME` FROM `links` WHERE `NAME` LIKE "$suchmuster"';
>
>
> IMHO gaaanz schlecht. Weil der Stringbegrenzer in SQL ist normalerweise
> ', nicht ".
>
> gruss, heli
Dann halt andersrum:
$sql="SELECT `NAME` FROM `links` WHERE `NAME` LIKE '$suchmuster'";
Stefan
Re: Suchmuster für LIKE in Variabler übergeben
am 05.02.2006 21:53:20 von Christian Kirsch
Weinzierl Stefan wrote:
> Friedrich Baur schrieb:
>
>
>>Hallo,
>>
>>habe alles, was gibt, durchsucht, ohne Ergebnis.
>>
>>Wie kann ich bei
>>
>>$sql = 'SELECT `NAME` FROM `links` WHERE 1 AND `NAME` LIKE \'A%\'';
>
>
> Was sucht das '1 AND' da?
>
Lass mich raten: Da spielt jemand mit PHPMy-Dingens ...