Tom: Select-Abfrage mit like

Beitrag lesen

Hello,

Wenn ich nur like '%1%' oder '%2%' mache, klappt alles perfekt... leider habe ich halt die vari mit 12 und möchte nur das like für 12  also 1 oder 2 ausgeben lassen ;-)

Sollen denn Datensätze, derene IDs z.B. 123, 799641345, 9991999, 3332
auch ausgegeben werden?

Hier handelt es sich um ein sogenanntes Werte-Set aus zwei werten. Sets werden mit IN ( ) abgefragt, also

select $fields from $table where ID IN (1,2)

Dann klappt das auch, wenn die IDs numerisch definiert sind.
Man darf aber trotzdem auch so abfragen:

select $fields from $table where ID IN ('1','2')

Aus Sicherheitsgründen sollte man die Häkchen grundsätzlich nehmen, wenn man nicht mit den Werten rechnen muss. Die meisten SQL-Dialekte sehen diese Möglichkeit vor und empfehlen sie sogar ausdrücklich. Die Möglichkeit der Injektion wird damit erheblich verringert.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau