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

首頁 >後端開發 >php教程 >mysqli返回的结果集是个对象吗? 为什么呢?

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

WBOY
WBOY原創
2016-06-06 20:43:001382瀏覽

$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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn