php - 从序列化数组 MySQL 中检索特定值

标签 php mysql wordpress denormalized

数据库结构如下:

id|metaKey|metaValue
--+-------+-----------------------------------
55|product|a:8:{s:3:"sku";s:0:"";s:8:"products";a:3:{i:1;a:3:{s:6:"option";s:1:"1";s:5:"price";s:5:"14.95";s:9:"saleprice";s:0:"";}i:2;a:3:{s:6:"option";s:0:"";s:5:"price";s:0:"";s:9:"saleprice";s:0:"";}i:3;a:3:{s:6:"option";s:0:"";s:5:"price";s:0:"";s:9:"saleprice";s:0:"";}}s:11:"description";s:124:"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";s:8:"shiprate";s:1:"A";s:8:"featured";s:2:"no";s:4:"sale";s:3:"yes";s:10:"cart_radio";s:1:"0";s:6:"optset";s:0:"";}

这是来自 wordpress 网站,我需要检索第一个“价格”值,即 14.95 从存储在 mysql 中的序列化数组中检索特定值的最佳方法是什么?

最佳答案

创建查询,从 SQL 中读取数据,unserialize() metaValue 并像访问数组一样访问它。如果你需要在mysql中提取它,你也可以尝试使用正则表达式,但这不是一个很好的方法。

关于php - 从序列化数组 MySQL 中检索特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590742/

相关文章:

mysql - 为什么这个 "nested join"适用于 PDO 但不适用于 MySql cli?

mysql - 如何在 Woocommerce 中删除具有相同产品 ID 的重复产品?

php - 如何获取 woocommerce 数据 (wc_get_product() )?

php - 如何从数据库中检索图像到 html 表单?

php - 当我加入两个表时如何使用 DESC 限制 3

Php表单(使用PDO)插入其他表(外键)

php - 在 WooCommerce 结帐中禁用公司和特定国家/地区的税费

php - 定义联接时进行验证

php - 如何使用 Javascript 在下拉列表中显示选项名称

php - 无法使用 PHP 和 MySQL 随机获取数据