【问题标题】:mysql: serializing an associative array [closed]mysql:序列化关联数组
【发布时间】:2012-05-09 06:36:07
【问题描述】:

我有一个关联数组,将它放入 db (mysql) 的最简单方法是什么?我的意思是序列化并放入 SINGLE 字段。请注意,序列化后,我需要能够反序列化字段。

【问题讨论】:

  • “单字段”是什么意思? (注意你自己的复数)。您想要数组的每个成员都有一个字段吗?这将取决于数据库的结构和数组的结构。还是您的意思是“单个字段”?如果您以无法从中受益的方式存储数据,那么拥有关系数据库有什么意义?
  • 这是一个错误!对不起。我想把整个数组放到一个字段中!
  • 我建议您使用 TEXT 作为序列化数据的字段。如果您知道序列化数据的长度,您可以使用以下信息对其进行调整:TEXT will get you 65535 chars. MEDIUMTEXT will do up to 16777215. LONGTEXT will do 4294967295. 反序列化使用 php.net/manual/en/function.unserialize.php

标签: php mysql serialization


【解决方案1】:

类似的东西。

$arr=array("data","more data");
$result=mysql_real_escape_string(serialize($arr));
mysql_query("INSERT INTO table (serialized) VALUES ('{$result}')");

【讨论】:

  • 谢谢!我将如何反序列化? mysql_real_escape_string 恢复了吗?
  • 我相信使用 unserialize()。它将返回一个字符串数组(您的序列化数据)
猜你喜欢
  • 2014-01-19
  • 2011-09-20
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2016-10-07
  • 1970-01-01
  • 2019-01-07
  • 2018-05-05
相关资源
最近更新 更多