Mailinglisten-Archive |
Hallo,
Nur zwei Tips dazu:
1. Soweit ich weiss kann die IN() Abfrage nur 256 Elemente
verarbeiten, deshalb bietet sich an, dein Array oder Hash ersteinmal
in 256er Arrays aufzuspalten (in PHP mittels array_chunk()) um diese
in einer Schleife nacheinander abzusetzen.
2. Die Elemente in dem Array/Hash sind VOR dem umwandeln in Strings
MySQL-sicher zu machen, da du den entstehenden String mit den single-
quotes nicht mehr gut escapen kannst. Sprich das Array durchgehen und
jedes Element mit addslashes bzw. mysql_escape_string sicher machen.
Viele Gruesse, Ilja
On 14 Feb 2005 at 23:30, Norbert Pfeiffer wrote:
> Hallo Alfred,
>
> > ich moechte eine Select-Abfrage mit einem Array verknuepfen.
> > z.B. so "select Ort from Adresse where Name in($array);"
> hmm,
> im Prinzip ist das richtig, aber eben nur im Prinzip.
>
> Wenn Du das Array mit: echo $array; anzeigen willst,
> klappt das ja auch nicht. Du musst halt aus dem Array
> einen String formen und den in das Query einfuegen:
> <?
> $array = array('Bernd', 'Rolf', 'Hans', 'Egon');
> $strng = "'".implode($array, "', '")."'";
> $query = "select Ort from Adresse where Name in ($strng)";
> echo $strng."\n";
> echo $query."\n";
> ?>
> Nun sollte es gehen ...
>
>
> m. b. G. Norbert
> _____________________
> normal: 02686-987103
> Notruf: 0163-3613642
> ---------------------
> e.o.m.
>
> --
> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> -->> http://www.4t2.com/mysql
>
>
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive