Either 1. Don't addslashes before you serialize it 2. use stripslashes before you unserialize it
> -----Original Message----- > From: Jim Doolittle [mailto:[EMAIL PROTECTED]] > Sent: Monday, December 03, 2001 9:07 AM > To: [EMAIL PROTECTED] > Subject: [PHP-DB] Can't unserialize array from mysql > > > Hi, > > I'm trying to loop thru an unserialized array pulled from > mysql. First I > serialized the array before storing it: > > -------------------------------------------------------------- > ---------- > > $sql ="UPDATE $table_name set performer_id='" . > addslashes(serialize($perfor > mer_id)) . "' WHERE lineup_id=$lineup_id"; > > -------------------------------------------------------------- > ---------- > > This seems to work. mysql stores $performer_id as: > > a:3:{i:0;s:2:"12";i:1;s:1:"1";i:2;s:1:"3";} > > The next time I grab $performer_id from mysql I want to > unserialize it and > loop thru it with foreach(): > > -------------------------------------------------------------- > ---------- > > $sql ="SELECT performer_id FROM lineup WHERE lineup_id=$lineup_id"; > > $result_pid = @mysql_query($sql, $connection) or > die("Couldn't execute query > perfomer ID."); > while ($row = mysql_fetch_row($result_pid)) { > $result_pid = unserialize($result_pid); > > foreach ($result_pid as $performer_id) { > (some more code here) > } > -------------------------------------------------------------- > ---------- > > But this gives me an error "Warning: Invalid argument supplied for > foreach()". I used var_dump before and after I unserialized > just to check > that the result set actually contained data. > > The first var_dump produced "array(1) { [0]=> string(44) > "a:3:{i:0;s:2:"10";i:1;s:1:"6";i:2;s:2:"17";}" }". Looks > good, but var_dump > after unserializing gives "bool(false)". > > I also tried using reset() after the first var_dump, and > stripslashes(), but > got the same error. Can anyone see what I'm doing wrong? Thanks! > > Jim > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: > [EMAIL PROTECTED] > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]