phpbar.de logo

Mailinglisten-Archive

Select-Abfrage mit Array

Select-Abfrage mit Array

ibekowies at shavingkiwis.de ibekowies at shavingkiwis.de
Die Feb 15 11:56:33 CET 2005


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