我的wp_usermeta表有4列,umeta_id | user_id | meta_key | meta_value 表格图片:
其中一列有序列化数据 - wp_s2member_custom_fields。如何从mysql中反序列化或使用php输出以查看序列化列中的所有用户数据?
以下是序列化数据的细分: wp_s2member_custom_fields
a:12:{
s:7:"country";
s:2:"CA";
s:4:"city";
s:8:"Brampton";
s:5:"state";
s:7:"Ontario";
s:8:"zip_code";
s:6:"L6T4E7";
s:3:"age";
s:13:"25–34 years";
s:8:"blog_url";
s:22:"http://www.blog.com";
s:16:"blog_description";
s:106:"A blog about blogging";
s:15:"monthly_uniques";
s:4:"1000";
s:13:"facebook_page";
s:55:"http://www.facebook.com/myfacebookpage";
s:14:"facebook_likes";
s:3:"1428";
s:15:"twitter_account";
s:31:"http://twitter.com/mytwitterpage";
s:17:"twitter_followers";
s:3:"5849";}
答案 0 :(得分:1)
从数据库中获取数据并使用PHP的unserialize()
。在MySQL(或任何其他数据库)中无法做到这一点,这是大多数开发人员更喜欢在表中编写逗号分隔的valies的主要原因。
答案 1 :(得分:0)
WordPress通过序列化将数组/对象存储在数据库中,因此通常检索功能是您想要查找的功能,因为它将返回未序列化的数据。
在这种情况下,它是 user_metadata ,因此您需要使用函数get_user_meta(),您可以使用$ user_id和$ key参数来检索它。
在您的示例中,它将是这样的:
<?php
$array = get_user_meta(760, 'wp_s2member_custom_fields');
var_dump($array);
我希望这有帮助并且有意义......
注意:强> WordPress Codex是无价的资源!