Tom: Übergabe von Checkbox-Werten in die Select-Abfrage

Beitrag lesen

Hello,

$liststr = "('" . implode(",'", $_liste) . "')";

Noch zwei Sätze dazu, warum ich mich hier für die Häkchen entschieden habe, obwohl es sich um zahlen handelt. Das hat nichts mit Doppelparanoia zu tun, sondern mit Bequemlichkeit.

Wenn Du abfragst

select id, zahl from zahl where id in (1,3,7,8,11);

ist das für MySQL auch OK. Aber wenn die Liste leer ist, also dadurch dann

select id, zahl from zahl where id in ();

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds
    to your MySQL server for the right syntax to use near ')' at line 1

gibt es eine hässliche Fehlermeldung, weil die Liste leer ist.

Wenn Du nun aber

select id, zahl from zahl where id in ('');

abfragst, sit MySQL damit zufrieden, da die Liste nicht leer ist, sondern einen Leerstring enthält.
Das ergibt dann einfach ein leeres Resultset

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de