如何从具有多个值的字段中提取数据?

时间:2012-06-13 13:45:12

标签: php mysql sql

IP.Nexus将自定义字段放入一个表格中,所有表格都混淆为一行,而一些表格如何将正确的数据输出。

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

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

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

因为我想自己回应广告,反之亦然。

提前致谢

3 个答案:

答案 0 :(得分:1)

这是使用serialize()函数的序列化数组,因此您可以使用unserialize($YourString);获取其内容。

但是我发现您的字符串已被损坏以进行反序列化,因为s:4:中的s:4:"advertising"表示在s:4: 4字符长字符串后,advertising不是。{ / p>

答案 1 :(得分:0)

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

$mystring=unserialize($mystring)

您将获得此字符串的正常数组 你可以做到

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

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

答案 2 :(得分:-1)

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

<?php

(...)
while (...) {
    $obj = json_decode($row);
    // do something with $obj
}
相关问题