数据库结构如下:
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中提取它,你也可以尝试使用正则表达式,但这是一个不太好的方法.