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