数据是如何存储在数据库中的?

时间:2012-05-21 作者:Radi

我有多年的PHP和MySQL经验,但刚刚开始为WordPress开发插件,需要一些帮助。

目前,我正在开发一个插件,它将为另一个插件添加额外的功能。我需要读取原始插件存储的数据,并使用我的插件对其进行操作。到目前为止还不错,但当我打开phpMyAdmin时,原始插件表中存储的数据如下所示:a:2:{i:0;a:11:{s:2:"id";s:1:"1";s:7:"item_id";s:1:"1";s:4:"name";s:9:"section 1";s:5:"limit";s:1:"1";s:5:"order";s:6:"random";s:10:"difficulty";s:4:"easy";s:9:"timestamp";s:19:"2012-05-21 12:29:44";s:9: ... 谁能告诉我怎么读这个吗。这种存储数据的方法是如何调用的,是否有关于如何使用其他插件读取此数据的指南。

编辑:在进一步研究代码后,我理解如下s:2:"id"; 这意味着:带2个字符的字符串->“id”
-s:7:"item_id"; 这意味着:包含7个字符的字符串->“item\\u id”
a:4:{} 这意味着花括号之间将有4个参数

我唯一搞不清楚的是i:0;?

我对上述假设是否正确?

谢谢,拉迪。

1 个回复
最合适的回答,由SO网友:William 整理而成

这是一个序列化数组。PHP可以通过使用serializeunserialize 功能(WordPress为您提供此功能)。

WordPress只需使用get_option (或类似的WordPress函数调用以检索数据)并正常使用数组/对象。

我建议您避免编辑数据库中的原始数据,因为这会把事情弄得一团糟(我从经验中知道:)。

结束