Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Serialize i unserialize
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
misiek08
post
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 6
Dołączył: 2.02.2008

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
zend
post
Post #3





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 14:41