query($query);$row_cnt = $res->num_rows;//判断结果集的记">
当前位置:Gxlcms > PHP教程 > mysqli返回的结果集是个对象吗?为什么呢?

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

时间:2021-07-01 10:21:17 帮助过:4人阅读

$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.com/manual/en/mysqli.query.php

人气教程排行