• 技术文章 >后端开发 >php教程

    mysqli返回的结果集是个对象吗? 为什么呢?

    2016-06-06 20:43:00原创726

    $mysqli = new mysqli("127.0.0.1","root","","test");
    ......
    $res=$mysqli->query($query);
    $row_cnt = $res->num_rows;//判断结果集的记录个数
    ......

    请问$res 是个对象吗? 为什么呢?
    (我一直以为对象都是要手动new出来的 =。=)

    还有为什么对一个记录条数为0的结果集的布尔型判断结果会是ture

    新手让大家见笑了

    回复内容:

    $mysqli = new mysqli("127.0.0.1","root","","test");
    ......
    $res=$mysqli->query($query);
    $row_cnt = $res->num_rows;//判断结果集的记录个数
    ......

    请问$res 是个对象吗? 为什么呢?
    (我一直以为对象都是要手动new出来的 =。=)

    还有为什么对一个记录条数为0的结果集的布尔型判断结果会是ture

    新手让大家见笑了

    是对象,具体要看php的mysql驱动是怎么写的,对象是在query这个函数中生成的,而且脚本语言中一般不需要显示的用new。

    因为这个对象是存在的而不是null,所以是true。。。

    mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
    

    Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

    当请求失败时返回 FALSE; 有结果的查询返回 mysqli_result 对象,无结果的查询返回 TRUE.

    http://php.net/manual/en/mysqli.query.php

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:preg_replace(): The /e modifier is deprecated, use preg_replace_callback 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊PHP escapeshellarg函数使用的中文问题• PHP原生类的总结分享• 分享PHP函数使用小工具(附代码示例)• PHP安全编码总结(经验分享)• 非常全面!PHP常见漏洞代码总结!
    1/1

    PHP中文网