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

Maison >développement back-end >tutoriel php >mysqli返回的结果集是个对象吗? 为什么呢?

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

WBOY
WBOYoriginal
2016-06-06 20:43:001384parcourir

$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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn