首页 > 后端开发 > php教程 > PHP使用fetch_assoc()获取查询结果时数据类型都变了

PHP使用fetch_assoc()获取查询结果时数据类型都变了

WBOY
发布: 2016-06-06 20:26:19
原创
1287 人浏览过

<code>        $res=$this->conn->query($sql) or die('execute sql error:'.$this->conn->error);
        $arr=array();
        $i=0;
        while ($row=$res->fetch_assoc()){
            $arr[$i]=$row;
            $i++;
        }
        $res->free();
        $this->conn->close();
        return $arr;</code>
登录后复制
登录后复制

上面这一段是查询的,结果都拿到了,可是当我打印结果数组是,发现数据全都变成了字符串

<code>array(3) {
  [0] => array(3) {
    ["id"] => string(1) "1"
    ["name"] => string(8) "zhangsan"
    ["age"] => string(2) "23"
  }
  [1] => array(3) {
    ["id"] => string(1) "2"
    ["name"] => string(4) "lisi"
    ["age"] => string(2) "18"
  }
  [2] => array(3) {
    ["id"] => string(1) "3"
    ["name"] => string(6) "wangwu"
    ["age"] => string(2) "20"
  }
}</code>
登录后复制
登录后复制

我检查了数据库,id和age这两个字段确实是int类型没错,可是为什么数据查出来后类型都变了?

回复内容:

<code>        $res=$this->conn->query($sql) or die('execute sql error:'.$this->conn->error);
        $arr=array();
        $i=0;
        while ($row=$res->fetch_assoc()){
            $arr[$i]=$row;
            $i++;
        }
        $res->free();
        $this->conn->close();
        return $arr;</code>
登录后复制
登录后复制

上面这一段是查询的,结果都拿到了,可是当我打印结果数组是,发现数据全都变成了字符串

<code>array(3) {
  [0] => array(3) {
    ["id"] => string(1) "1"
    ["name"] => string(8) "zhangsan"
    ["age"] => string(2) "23"
  }
  [1] => array(3) {
    ["id"] => string(1) "2"
    ["name"] => string(4) "lisi"
    ["age"] => string(2) "18"
  }
  [2] => array(3) {
    ["id"] => string(1) "3"
    ["name"] => string(6) "wangwu"
    ["age"] => string(2) "20"
  }
}</code>
登录后复制
登录后复制

我检查了数据库,id和age这两个字段确实是int类型没错,可是为什么数据查出来后类型都变了?

类似问题参考
http://segmentfault.com/q/1010000002957162

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板