query($query); $row_cnt = $res->num_rows;//判断结果集的记录个数 ...... 请问$res 是个对象吗? 为什么呢? (我一直以为对象都是..."/> query($query); $row_cnt = $res->num_rows;//判断结果集的记录个数 ...... 请问$res 是个对象吗? 为什么呢? (我一直以为对象都是...">

Home >Backend Development >PHP Tutorial >mysqli返回的结果集是个对象吗? 为什么呢?

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

WBOY
WBOYOriginal
2016-06-06 20:43:001383browse

$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。。。

<code>mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
</code>

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn