原生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;