【发布时间】:2015-08-21 15:42:23
【问题描述】:
因此,我们在包含旧用户数据的数据库中拥有历史日志。我们不想删除日志,而只想删除其中的一些数据。它作为一个数组存储在 MySQL 中的一个字段中。
a:1:{s:4:"Test";s:17:"user data";}
如何更新 test(用户数据)的值?通过 MySQL 或 php,它看起来像下面这样?这会影响数百行。
a:1:{s:4:"Test";s:17:"***";}
这是我刚刚尝试检索的一些数据
$sqltext = "SELECT log_data FROM log WHERE log_data != '' LIMIT 1";
$result = mysql_query ($sqltext) or die(SqlError(__FILE__,__LINE__,__FUNCTION__));
$row = mysql_fetch_array($result);
$deserialized = unserialize($row->log_data);
var_dump($deserialized);
返回:bool(false)
数组包含一堆东西,包括html
【问题讨论】:
-
你有没有尝试过?你可以做一个循环,为每一行反序列化,替换你需要的,然后序列化回来。
-
你看过函数serialize和unserialize吗?
-
不,我还没有尝试任何东西 - 不知道如何开始
-
我认为也许从@caCtus 的建议开始,使用两个链接的函数将是一个好的开始。然后返回一个更具体的问题,关于您遇到问题的部分。
-
好的,我已经更新了我的帖子
标签: php mysql serialization