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

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

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

WBOY
WBOYOriginal
2016-06-06 20:43:001384Durchsuche

$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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn