Mailinglisten-Archive |
Hi zu 1. Die Grenze liegt i.d.R. weit höher und ist nicht beschränkt auf eine bestimmte Anzahl Elemente. Die Grenze ist NUR abhängig von der Konfiguration des MySQL-Servers. Auszug aus der Doku: >The number of values in the IN list is only limited by the max_allowed_packet value. zu 2.: Das ist sehr wichtig, wenn man Strings mit beliebigen Inhalt im IN() unterbringen will. Bsp: IN ('R\'n\'B','Folk') Bei numerischem Inhalt ist das nicht nötig. Bsp: IN (2,3,4) :-) Sandor -----Original Message----- From: ibekowies at shavingkiwis.de [mailto:ibekowies at shavingkiwis.de] Sent: Tuesday, February 15, 2005 11:57 AM To: mysql-de at lists.4t2.com Subject: Re: Select-Abfrage mit Array 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 -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive