如何设置mysqli_result::num_rows
How to set mysqli_result::num_rows
出于模拟目的,我扩展了 mysqli_result class:
class MysqliResultMock extends mysqli_result {
...
}
现在,我需要为它的成员 'num_rows' 覆盖它 returns 的内容,但不幸的是 $this->num_rows = 123;它根本无法设置(我在写这一行时遇到致命错误:
Fatal error: Cannot directly set the property MysqliResultMock::$num_rows in DbTest.php on line 13)
有什么办法可以做到吗?
谢谢。
哈哈,我找到答案了
你只需要添加 public $num_rows;行到 class,明确地使其可写。像这样:
class 结果扩展 mysqli_result {
public $num_rows;
public function __construct()
{
$this->num_rows = 6;
...
然后你可以在一个实例上调用 mysql_num_rows() ,它将 return 给定的 num_rows 正确。
出于模拟目的,我扩展了 mysqli_result class:
class MysqliResultMock extends mysqli_result {
...
}
现在,我需要为它的成员 'num_rows' 覆盖它 returns 的内容,但不幸的是 $this->num_rows = 123;它根本无法设置(我在写这一行时遇到致命错误:
Fatal error: Cannot directly set the property MysqliResultMock::$num_rows in DbTest.php on line 13)
有什么办法可以做到吗?
谢谢。
哈哈,我找到答案了
你只需要添加 public $num_rows;行到 class,明确地使其可写。像这样:
class 结果扩展 mysqli_result {
public $num_rows;
public function __construct()
{
$this->num_rows = 6;
...
然后你可以在一个实例上调用 mysql_num_rows() ,它将 return 给定的 num_rows 正确。