使用mysql数据库中的php对数据数组进行非序列化


unserializing data array with php from mysql database

我在mySQL数据库中存储了以下序列化的PHP数组:

a:2:{i:2070;s:4:"0.00";i:1901;s:4:"1.00";}

现在,我设法用输出了这个值

$my_data=mysql_result($result,$i,"my_data");
echo "$my_data";

但我无法取消它的序列化。我尝试过这个,但它不起作用:

$my_data=unserialize($my_data);

当我把它加在中间时,我得到的只是一张空白页。有什么想法吗?

也许您应该看看将值插入数据库的过程。值序列化后,是否可能以某种方式对其进行编码,例如对html实体或其他内容进行编码?

我在本地运行了一个测试,得到了相同的错误消息。输出如下:

a:2:{i:2070;s:4:"0.00";i:1901;s:4:"1.00";} Notice: unserialize(): Error at offset 12 of 62 bytes in /srv/localhost/public_html/test.php on line 6 

这是代码

<?php
$value = htmlentities('a:2:{i:2070;s:4:"0.00";i:1901;s:4:"1.00";}');
echo $value;
unserialize($value);