Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Serializacja tablic
szok
post
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Witam, mam pewien problem, otóż, przechowuje tablice w bazie danych za pomocą serializacji. Wszystko ładnie pięknie do czasu gdy odczytam ją, zrobię unserialize i podmienię jakaś wartość na string z znakiem " serializuje ją znowu i zapisuje, ale gdy drugi raz próbuje ją odczytać już nie chce się robić unserialize i wywala mi błąd.

Najdziwniejsze jest to że gdy tworze nowa tablice i w niej dam wartości z znakiem " to jest ok, unserialilze działa itp, dopiero przy edycji i ponownym zapisie.

Jak można to lepiej zrobić? czy może jakieś funkcji dodatkowo użyć?

Proszę o pomoc, Pozdrawiam

Ten post edytował szok 16.03.2009, 15:36:48


--------------------
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Może coś typu addslashes? Nie spotkałem jeszcze takiego problemu.
Go to the top of the page
+Quote Post
guilty82
post
Post #3





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

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


  1. <?php
  2. $tablica = base64_encode(serialize($tablica));
  3. ...
  4. $tablica = unserialize(base64_decode($tablica));
  5. ?>
Go to the top of the page
+Quote Post
szok
post
Post #4





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Cytat(guilty82 @ 16.03.2009, 17:53:58 ) *
  1. <?php
  2. $tablica = base64_encode(serialize($tablica));
  3. ...
  4. $tablica = unserialize(base64_decode($tablica));
  5. ?>


Tego raczej użyć nie mogę, dlatego że ta tablica wykorzystywana jest w innych rzeczach na stronie a nie moge wszystkiego zmienić.

Co do addslashes to próbowałem i nadal to samo sad.gif


--------------------
Go to the top of the page
+Quote Post
megawebmaster
post
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Sprawdzałeś przy każdej zmianie co znajduje się w tablicach? (print_r) Jaki błąd wywala unserialize? Włącz error_reporting(E_ALL); bo unserialize wywala E_NOTICE.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 10:00