原生sql查询返回结果集处理方法

今天博主用原生写查询的时候发现,查询出来的居然不是我数据表里的数据,而是一个对象

object(mysqli_result)#2 (5) {
["current_field"]=>
int(0)
["field_count"]=>
int(8)
["lengths"]=>
NULL
["num_rows"]=>
int(6)
["type"]=>
int(0)
}

问了一波度娘才发现,原来这是正常的返回,框架的db库都是经过封装的,在返回的时候已经将结果集转换了一波才返回的

但是问题是怎么才能把他转成数组呢,结果集咱也看不懂也不会用啊,于是乎博主又问了一波度娘

最后找到的答案:附上代码

    require('./db.php');
    $sql = "select * from wx_menu_bar";
    //顶级菜单栏
    $menu_bar = $db->query($sql);
    $result = array();
    if($menu_bar) {
        //转化为数组
      while($value = $menu_bar->fetch_array()) {
          if(empty($result)){
              $result = $value;
          }else{
              $result[] = $value;
          }
       }
    }
    echo json_encode($result,JSON_UNESCAPED_UNICODE);die;
posted @ 2020-01-03 17:59  钧一  阅读(3147)  评论(0编辑  收藏  举报