我正在使用分类脚本并将 user_meta 数据保存在 wp_usermeta 表中。 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;}";
除了 user_add1、user_city、user_state 和 user_postalcode,我没有使用脚本中的所有字段
我在使用 SQL 获取数据时遇到问题,如下例 (wordpress):
$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
我在这里需要一些帮助,以便我可以在任何地方显示(我不介意使用任何类型的 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";
}
?>
非常感谢。
最佳答案
不,你不能使用SQL反序列化。
这就是为什么将序列化数据存储在数据库中一个非常糟糕的主意
两次序列化是糟糕的两倍。
所以,除了使用您提供的代码之外,您什么都没有。
不过,我在其中看不到太多静态信息。
你有遇到任何问题吗?
或者您只是想修复某些东西但不知道要修复什么?然后摆脱序列化
关于php - 反序列化来自 mySQL 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179376/