Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z odserializowaniem danych
Forum PHP.pl > Forum > Przedszkole
Jarod
Głowię się nad drobną rzeczą ale mam problem. Przesyłam metodą post zserializowaną tablicę a pod przepuszczeniu przez unserialize() otrzymuje ją w całej okazałości. W tablicy tej znajdują się dane pobrane z bazy.

serializacja: serialize($aRole)
odserializowanie: unserialize(stripslashes($_POST['aRoleToken']))


Wszystko działa pięknie do póki w bazie przechowuje zwykłe teksty. Natomiast jeśli do bazy wprowadzę np taki ciąg:

  1. INSERT INTO roles VALUES (NULL, 'ChangeLogView', 'Przeglądanie changelog'a');


to przy próbie unserializacji otrzymuję błąd spowodowany obecnością tego apostrofa przed literką a.

Pewnie banalny problem ale jakoś nie mogę nic wymyśleć.
rasgan
przed wpisaniem do bazy użyj funkcji dodania stripslashes a przy wyciąganiu z bazy usuń znaczki \. W ten sposób będziesz mógł używać znaków ' oraz " przy zapisie do bazy.
Jarod
Próbowałem - nie pomaga
rasgan
a tak?

Kod
$a = array( null , "ChangeLogView" , "Przeglądanie changelog'a" );
$a = addslashes ( $a[2] );
INSERT INTO roles VALUES ( $a );


Jeśli to nie pomoże to może zastąp znak ' odpowiednikiem &costam - nie pamietam kodu.
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.