Php 存储在json中的数据

Php 存储在json中的数据,php,mysql,json,Php,Mysql,Json,我将数据存储在JSON字符串中,如下所示 a:1:{s:15:"s2member_level1";s:1:"1";} 如何在mysql中读取这些值 我需要知道“s2member_level1”的值是否为1 谢谢 这不是JSON,而是在PHP中调用的字符串。您无法在MySQL中轻松解析它。如果可以使用PHP,请使用以下函数: $obj = unserialize($data_from_mysql); if ($obj['s2member_level1'] == 1) { // more

我将数据存储在JSON字符串中,如下所示

a:1:{s:15:"s2member_level1";s:1:"1";}
如何在mysql中读取这些值

我需要知道“s2member_level1”的值是否为1


谢谢

这不是JSON,而是在PHP中调用的字符串。您无法在MySQL中轻松解析它。如果可以使用PHP,请使用以下函数:

$obj = unserialize($data_from_mysql);
if ($obj['s2member_level1'] == 1) {
    // more code here
}

您可以使用函数在PHP中将数据转换为JSON。以类似的方式,您可以使用。

从JSON字符串构造一个对象,它不是JSON,而是在PHP中调用的字符串。您无法在MySQL中轻松解析它。如果可以使用PHP,请使用以下函数:

$obj = unserialize($data_from_mysql);
if ($obj['s2member_level1'] == 1) {
    // more code here
}

您可以使用函数在PHP中将数据转换为JSON。以类似的方式,您可以使用从JSON字符串构造对象。

@Lekensteyn关于这个特定字符串的类型是正确的,但是对于其他人,PHP有一个可以用来将JSON对象转换为PHP对象的函数。仅使用MySQL读取这样一个对象要困难得多。

@Lekensteyn关于这个特定字符串的类型是正确的,但对于其他人来说,PHP有一个可以用来将JSON对象转换为PHP对象的函数。仅使用MySQL读取这样的对象将非常困难。

这不是json,而是序列化数据。它可能是用PHP的“serialize”函数序列化的。尝试:

print_r(unserialize('a:1:{s:15:"s2member_level1";s:1:"1";}'));

。。。将其取消序列化

这不是json,而是序列化数据。它可能是用PHP的“serialize”函数序列化的。尝试:

print_r(unserialize('a:1:{s:15:"s2member_level1";s:1:"1";}'));

。。。将其取消序列化

@Lekensteyn是正确的,但是您可以像那样执行一个
语句,尽管它的性能很可能非常差。我真正的答案是改变存储这些信息的方式,以利用性能最佳的查询

select * from table
where column like '%s:15:"s2member_level1";s:1:"1";%';

@Lekensteyn是正确的,但是您可以像
那样执行一个
语句,尽管它的性能很可能非常差。我真正的答案是改变存储这些信息的方式,以利用性能最佳的查询

select * from table
where column like '%s:15:"s2member_level1";s:1:"1";%';

那是个糟糕的桌子设计。您不应该在数据库中存储序列化数据。重新设计您的表以满足至少3NF,但5NF会更好。是usermeta wordpress表,无法更改。插件以这种方式存储数据。这是一个糟糕的表设计。您不应该在数据库中存储序列化数据。重新设计您的表以满足至少3NF,但5NF会更好。是usermeta wordpress表,无法更改。插件以这种方式存储数据。谢谢,但它是usermeta wordpress表,无法更改。我用这种方式使用存储数据的插件。谢谢,但它是UserMetaWordPress表,无法更改。我以这种方式使用存储数据的插件。