3

错误:

Notice:  unserialize() [function.unserialize]: Error at offset 0 of 126 bytes in C:\wamp\www\web_service\client.php on line 224

错误的

代码 1:

$data = array('table'=>'users', 'operation'=>'select', 'uid'=>'yoyo');

$data = serialize($data);
print_r(unserialize($data));

代码 2:

$data = array('table'=>'users', 'operation'=>'select', 'uid'=>'yoyo');

$data = base64_encode(serialize($data));
print_r(unserialize(base64_decode($data)));

以上两者都给出了相同的错误。知道为什么吗?

谢谢

看着这些;

,……

4

2 回答 2

2
$data = array('table'=>'users', 'operation'=>'select', 'uid'=>'yoyo');

$data = json_encode($data);

// Use either as array
print_r((array) json_decode($data));

//Or Json
echo $data;

显然 JSON是更好的解决方案,所以我改用它。感谢您的贡献。

于 2013-02-18T13:40:14.517 回答
1

反序列化的这种问题可能与数据库连接编码有关。

如果序列化的字符串以不同的编码保存,反序列化函数的计数器中的字节数将不匹配......

于 2013-05-08T10:51:06.983 回答