Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Serialize i unserialize
Forum PHP.pl > Forum > PHP
propage
Nie wiem, czemu ale funkcja unserwialize nie działa, gdy dane zapisze bazy danych, a potem odczytam

  1. var_dump($shipping);
  2. $shipping = serialize($shipping);
  3. echo '<br />';
  4. echo $shipping;
  5. $db->query("UPDATE countryZone SET countryZone_shipping = '".$shipping."' WHERE countryZone_id = '$countryZone_id'");
  6.  
  7.  
  8. $shipping = $db->getFieldById('countryZone', $countryZone_id, 'countryZone_shipping');
  9. echo $shipping;
  10. echo '<br />';
  11. $shipping= unserialize($shipping);
  12. var_dump($shipping);
  13. [php]
  14.  
  15. Ten kod da mi:
  16.  
  17. [php]
  18.  
  19. array(2) { [100]=> array(2) { ["pp"]=> string(4) "1.00" ["courier"]=> string(4) "2.00" } [1100]=> array(2) { ["pp"]=> float(0) ["courier"]=> float(0) } }
  20.  
  21. a:2:{i:100;a:2:{s:2:"pp";s:4:"1.00";s:7:"courier";s:4:"2.00";}i:1100;a:2:{s:2:"pp";d:0;s:7:"courier";d:0;}}
  22. a:2:{i:100;a:2:{s:2:"pp";s:4:"1.00";s:7:"courier";s:4:"2.00";}i:1100;a:2:{s:2:"pp";d:0;s:7:"courier";d:0;}}
  23.  
  24. bool(false) ;
  25.  


Czyli tak jak widać, tablice pod serialize, przed zapisem do bazy i po odczycie z bazy sa identyczne, ale funkcja unserialize nie działa po odczycie z bazy.
misiek08
Dziwne, bo pobiera z bazy dobrze rekord. Nie słyszałem jeszcze, żeby unserialize nie działało, a serialize tak. Może funkcja, która pobiera z bazy dodaje coś na początku albo na końcu wyników i dlatego unserialize daje false.
zend
Najpierw w ramach testu spróbuj
  1. if($serializeZbazy =! $lokalneSerialize) echo 'różne';
  2. else echo 'takie samo';

Ja też przypuszczam że baza dodaje coś od siebie, może to być problem ze średnikami w stringu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.