PHP-php中的num_row是个变量还是个函数?
num_row在过程写法的时候是mysqli_num_rows(),但是在对象写法的时候却是$rs->num_rows,
本以为自己错了,后改成$rs->num_rows(),反而报undefined method mysqli_result::num_rows()的错误。
在查看mysqli.php文件中,对于num_rows的定义是:
/**
* Return the number of rows in statements result set
* @link http://www.php.net/manual/en/mysqli-stmt.num-rows.php
* @param stmt mysqli_stmt
* @return int An integer representing the number of rows in result set.
*/
public function num_rows (mysqli_stmt $stmt) {}
说明他的确是一个函数,为什么用的时候却不要() ?
拜大神赐教!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是1个函数:
mysql_num_rows() 函数返回结果集中行的数目。
例子:
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * FROM person";
$result = mysql_query($sql,$con);
echo mysql_num_rows($result);
mysql_close($con);
?>
因为我没找到mysqli.php,我猜是用__get()实现的,类似于这样:
<?php
class C {
function num_rows() {
return 9;
}
function __get($func) {
return $this->$func();
}
}
$c = new C();
var_dump($c->num_rows);