首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql返回数据并将其反序列化

问从mysql返回数据并将其反序列化
EN

Stack Overflow用户
提问于 2014-07-23 18:47:33
回答 2查看 93关注 0票数 1

我的SQL

代码语言:javascript
复制
$query = "SELECT value FROM oc_setting WHERE setting_id =7258";
        $result = $this->db->query($query);
        return $result->rows;

when I var_dump it show

代码语言:javascript
复制
array(1) {
  [0]=>
  array(1) {
    ["value"]=>
    string(158) "a:1:{i:0;a:5:{s:8:"rss_link";s:11:"ddddddddddd";s:9:"layout_id";s:1:"2";s:8:"position";s:14:"content_bottom";s:6:"status";s:1:"1";s:10:"sort_order";s:1:"5";}}"
  }
}

我怎么能像这样反序列化数组呢?首先转换为字符串吗?我尝试过unserializ(var),但它显示错误,因为它是一个数组。

EN

回答 2

Stack Overflow用户

发布于 2014-07-23 18:52:30

PHP function unserialize (http://php.net/manual/en/function.unserialize.php)将为您提供帮助。

代码语言:javascript
复制
unserialize($result[0]['value']);

将向您返回数组。

票数 1
EN

Stack Overflow用户

发布于 2014-07-23 19:19:08

看起来你正在使用一些PHP框架(非常类似于CodeIgniter one,但不确定)。应该有一个从结果集中恰好检索一行(第一行)的函数。

现在你问的是一个不太好的变通方法。通常,DB驱动程序有一个很好的接口来获取它从查询/视图获取的行数/列数。

如果我需要遍历结果数组,我通常使用以下语句:

代码语言:javascript
复制
if ($result -> num_rows())
{
    foreach ($result -> result_array() as $entry)
    {
         // do something
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24908389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档