从mySQL反序列化值

Ene*_*oma 3 php mysql

我正在使用分类脚本并在wp_usermeta表中保存user_meta数据.meta_key字段称为user_address_info,其中包含以下所有数据:

s:204:"a:7:{s:9:"user_add1";s:10:"my address";s:9:"user_add2";N;s:9:"user_city";s:7:"my city";s:10:"user_state";s:8:"my phone";s:12:"user_country";N;s:15:"user_postalcode";s:10:"comp phone";s:10:"user_phone";N;}";
Run Code Online (Sandbox Code Playgroud)

我没有使用脚本上的所有字段,但是user_add1,user_city,user_state和user_postalcode

我很难使用SQL获取数据,如下例所示(wordpress):

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
Run Code Online (Sandbox Code Playgroud)

我想在这里提供一些帮助,以便我可以在任何地方(我不介意使用任何类型的SQL查询)显示所请求的信息,例如当前作者ID的user_city(例如25)

我得到了以下示例,但我想要一些动态的东西

<?php
$s = 's:204:"a:7:{s:9:"user_add1";s:10:"my address";s:9:"user_add2";N;s:9:"user_city";s:7:"my city";s:10:"user_state";s:8:"my phone";s:12:"user_country";N;s:15:"user_postalcode";s:10:"comp phone";s:10:"user_phone";N;}"';
$u = unserialize($s);
$u2 = unserialize($u);
foreach ($u2 as $key => $value) {
   echo "<br />$key == $value";
}
?>
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

You*_*nse 5

不,您不能使用SQL来反序列化.
这就是为什么将序列化数据存储在数据库中是一个非常糟糕的主意

两次序列化的次数是两倍.

所以,除了使用你给出的代码之外,你什么都没有.
我看到它没有多少静态.
你遇到任何问题吗?
或者你只是想修复一些但不知道要修复什么?摆脱序列化然后