Session array mit foreach schleife in db speichern?

caschti84

Grünschnabel
Naaabend!
Habe folgendes Problem:

Habe ein array:
Definiert so:
PHP:
$_SESSION['id'] = array();

Die Werte werden so in das Array reingeschrieben:
PHP:
$_SESSION['id'][] = $_GET['id'];

Nun möchte ich die einzelnen Werte des Arrays in einzelne Zeilen in der Datenbank speichern.
Das mache ich folgendermaßen:
PHP:
foreach ($_SESSION['id'] AS $id){
 $sql = "INSERT INTO bestellungen (id) VALUES ('$id');";
 $result = mysql_query($sql) OR die(mysql_error());	
}

Soa, wenn nur ein Wert im Array $_SESSION['id'] gespeichert is gibt var_dump folgendes aus:
PHP:
array(1) { [0]=>  string(1) "5" }
Bei zweien des:
PHP:
array(2) { [0]=>  string(1) "5" [1]=>  string(1) "6" }
etc etc...!

Das bedeutet ja das ich ein mehrdimesionales Array habe (also ein array in einem array!) das will ich aber nicht! Wie mache ich daraus nun (siehe code!) nen normales array!

Und er speichert mir mit der oberen foreach schleife entweder keinen oder nur einen Wert in die Datenbank! Liegt das daran, dass es ein mehrdim. array ist?
Fehlermeldung:
PHP:
Warning: Invalid argument supplied for foreach() in /var/www/web21/html/paiddienst/index.php on line 148

Würde mich freuen, wenn ihr mir helfen könntet, weiß nämlich nicht mehr weiter :-/


Mit freundlichen Grüßen

caschti84
 
Die Werte werden so in das Array reingeschrieben:

PHP-Code:
$_SESSION['id'][] = $_GET['id'];

was sollen die zweiten 2 klammern hinter ['id'] genau mit dem erstellst du ja dein zweidimensionales array

mfg rene
 
Soa problem is, wenn ich die beiden klammern weg mache, dass er mir dann immer nur den ersten Wert des Arrays überschreibt!
Will aber nach und nach mehrere Werte in das Array schreiben, die dann dort nacheinander gespeichert werden!

Wie löse ich das nun?
 
schrenzor hat gesagt.:
was sollen die zweiten 2 klammern hinter ['id'] genau mit dem erstellst du ja dein zweidimensionales array
Ja, das ist aber so erwünscht, wenn ich das richtig sehe. Übrigens: bitte an Groß-/Kleinschreibung halten, danke :)

Das bedeutet ja das ich ein mehrdimesionales Array habe (also ein array in einem array!) das will ich aber nicht! Wie mache ich daraus nun (siehe code!) nen normales array!
$_SESSION['id'] ist eigentlich ein eindimensionales Array, wenn var_dump eine derartige Ausgabe macht. Vielleicht liegt der Fehler an anderer Stelle?
 
wie krieg ich es denn nun hin, mehrere werte in ein array zuspeichern?

Wenn ich die klammern wegnehm es nidde :-/
weiß nimmer weiter :-(
 
Zurück