Moin moin liebe Gemeinde,
ich habe ein Problem.
Ich versuche nun seit Stunden dieses zu lösen, doch Google und gefühlt alle deutschsprachigen Foren haben mir bisher nicht weiter geholfen.
Nun versuch ich es direkt.
Ich arbeite im Moment an einem Warenkorbsystem, und fasse die Bestellung am Ende, also nach dem Abschluss der Bestellung, in einem Array zusammen. Bzw. wird das während des gesamten Bestellvorgangs schon gemacht. Dieses Array will ich nun in meiner DB speichern, um mir auf der "Admin"-Seite eine Übersicht verschaffen zu können.
Kopiere ich den Datensatz aus der Tabelle heraus, setz es in eine Variable und unserialize(), dann klappt das. Nur nicht mit dem was aus der DB kommt.
Das ganze mache ich mit serialize(). In die Datenbank wird auch das Array korrekt eingetragen. Nun will ich es auslesen und bekomme, egal wie ich es anstelle immer eine Fehlermeldung. Bin ich so blöd, ober hab ich nur was falsch verstanden? Vielleicht kann mir einer helfen.
Anbei der Code:
Variablen sind zum testen kurz gehalten.
Beim eintragen:
Fehler: Warning: unserialize() expects parameter 1 to be string, object given in E:.......... on line 30
Eine Alternative wäre es, für alle Daten einzelne Spalten anzulegen, wäre aber nicht absehbar, wie viele Produkte der Kunde bestellt.
Das Array:
Array ( [0] => Array ( [0] => 448573 [1] => XL [2] => 1 [3] => 19.99 ) )
Das serialisierte Array:
a:1:{i:0;a:4:{i:0;s:6:"448573";i:1;s:2:"XL";i:2;s:1:"1";i:3;d:19.989999999999998436805981327779591083526611328125;}}
Ich hoffe ich habe nichts vergessen.
Ach, und bitte weist nicht nochmal darauf hin, das man nur noch MySqli benutzen soll, das hab ich mir mitlerweile genug anhören müssen. Ich will aber erstmal das ganze Grundprinzip verstehen, bevor ich es mir komplizierte mache.
Vielen Dank im Voraus!
ich habe ein Problem.
Ich versuche nun seit Stunden dieses zu lösen, doch Google und gefühlt alle deutschsprachigen Foren haben mir bisher nicht weiter geholfen.
Nun versuch ich es direkt.
Ich arbeite im Moment an einem Warenkorbsystem, und fasse die Bestellung am Ende, also nach dem Abschluss der Bestellung, in einem Array zusammen. Bzw. wird das während des gesamten Bestellvorgangs schon gemacht. Dieses Array will ich nun in meiner DB speichern, um mir auf der "Admin"-Seite eine Übersicht verschaffen zu können.
Kopiere ich den Datensatz aus der Tabelle heraus, setz es in eine Variable und unserialize(), dann klappt das. Nur nicht mit dem was aus der DB kommt.
Das ganze mache ich mit serialize(). In die Datenbank wird auch das Array korrekt eingetragen. Nun will ich es auslesen und bekomme, egal wie ich es anstelle immer eine Fehlermeldung. Bin ich so blöd, ober hab ich nur was falsch verstanden? Vielleicht kann mir einer helfen.
Anbei der Code:
PHP:
$ergebnis = mysql_query("SELECT bestellung FROM bestellung WHERE bestellnr = 1201300021");
while($row = mysql_fetch_object($ergebnis)){
$caa = $row;
}
$d = unserialize ($caa);
Beim eintragen:
PHP:
$bestellung = serialize ($_SESSION['bestellung']);
$timestamp = time();
$datum = date("Y.m.d",$timestamp);
$eintragbestellung = mysql_query("INSERT INTO bestellung (bestellnr, datum, lieferdaten, bestellung) VALUES (' ".$bestellnummer. " ', ' ".$datum." ', ' ".$lieferdaten." ', ' ".$bestellung." ') ");
Fehler: Warning: unserialize() expects parameter 1 to be string, object given in E:.......... on line 30
Eine Alternative wäre es, für alle Daten einzelne Spalten anzulegen, wäre aber nicht absehbar, wie viele Produkte der Kunde bestellt.
Das Array:
Array ( [0] => Array ( [0] => 448573 [1] => XL [2] => 1 [3] => 19.99 ) )
Das serialisierte Array:
a:1:{i:0;a:4:{i:0;s:6:"448573";i:1;s:2:"XL";i:2;s:1:"1";i:3;d:19.989999999999998436805981327779591083526611328125;}}
Ich hoffe ich habe nichts vergessen.
Ach, und bitte weist nicht nochmal darauf hin, das man nur noch MySqli benutzen soll, das hab ich mir mitlerweile genug anhören müssen. Ich will aber erstmal das ganze Grundprinzip verstehen, bevor ich es mir komplizierte mache.
Vielen Dank im Voraus!