Moin, habe bei einem kleinen Hobby Projekt ein Problem, bei dem ich (die wahrscheinlich ganz offensichtliche) Lösung nicht finden kann und hoffe auf einen helfenden Hinweis aus der community. In folgendem Code (Datenbankverbindung ist hergestellt)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?PHP $images=array("5","7","9","12","6");//Beispielhafte Daten für das Array, sonst aus nutzereingabe $i=1; $sqlimages="id_bild=".$images[0]; while(array_key_exists($i,$images)) { $sqlimages.=" OR id_bild=".$images[$i]; $i++; } $row=null; $wpeimages=array(); $wpeimages=mysql_query("SELECT id_bild, dateiendung, untertitel FROM Bild WHERE geloescht=0 AND (".$sqlimages.")"); while($row=mysql_fetch_assoc($wpeimages)) { //sucht angegebene Bilder in db $wpeimages[]=array( 'bildid'=>$row['id_bild'], 'dateiendung'=>$row['id_bild'], 'untertitel'=>$row['untertitel']); } var_dump($wpeimages); ?> |
bekomme ich am Ende durch var_dump die Ausgabe
/var/www/html/test.php:26:resource(3, mysql result)
Normalerweise sollte es aber ein mehrdimensionales Array sein mit jeweils den daten zur bildid, dateiendung und untertitel zu den Bildern mit der ID 5,7,9,12 und 6. In diesem konkreten Beispiel liefert der auch oben verwendete SQL-Aufruf
1 | SELECT id_bild, dateiendung, untertitel FROM Bild WHERE geloescht=0 AND (id_bild=5 OR id_bild=7 OR id_bild=9 OR id_bild=12 OR id_bild=6); |
die Beispieldaten im angehängtem Screenshot zurück.
Über einen Hinweis, warum ich diese Daten nicht in ein mehrdimensionales array füllen kann, würde ich mich freuen.
PS: Ja, ich weiß das die mysql Funktion mittlerweile durch mysqli ersetzt wurde. Werde ich auch bald anpassen...