0

IP.Nexus 将自定义字段放入一个表中,所有这些字段都混杂在一行中,并且有些方法可以提取正确的数据。

基本上我的自定义字段行如下所示:

a:2:{i:2;s:4:"Test";i:3;s:10:"Accounting";}

我如何选择要拉的项目,因为我想只放一个项目而不是整行,是带分隔符还是字符串拆分器,因为我是 mySQL 的这一部分的新手

因为我想自己呼应广告,反之亦然以进行测试。

提前致谢

4

3 回答 3

1

它是一个使用函数的序列化数组,serialize()因此您可以使用unserialize($YourString);.

但是我看到您的字符串因反序列化而损坏,因为s:4:ins:4:"advertising"表示在s:4:4 个字符长的字符串之后预期advertising不是。

于 2012-06-13T13:54:19.623 回答
0

数据库中的数据是序列化(json)形式的。你可以将它转换成简单的数组使用unserialize。例如;如果$mystr你的字符串写

$mystring=unserialize($mystring)

你会得到这个字符串的普通数组你可以做

foreach($mystring as $str){
$ads[]=$str['advertising'];
}

结果数组$ads将是您喜欢的简单数组形式的广告

于 2012-06-13T13:49:50.177 回答
-1

由于这看起来像 JSon,因此您可以使用PHP JSon模块来解析 MySQL 中的每一行。

<?php

(...)
while (...) {
    $obj = json_decode($row);
    // do something with $obj
}
于 2012-06-13T13:47:23.380 回答