可能重复:
新的Mysqli对象为空
我刚刚开始为我的MVC框架构建我的数据库类.在构建这个时,我正在尝试简单的查询和表格,以使其正常工作.
我试图查询以下内容:
SELECT*FROM mvc_test
这应该返回3行:
1 | 测试
2 | TEST2
3 | TEST3
我使用以下方法来查询:
<?php $this->result = $this->conn->query($this->q); ?>
Run Code Online (Sandbox Code Playgroud)
$ this-> conn的位置是:
<?php
$this->conn = new mysqli($this->reg->conf->database['host'],
$this->reg->conf->database['user'],
$this->reg->conf->database['password'],
$this->reg->conf->database['database']);
?>
Run Code Online (Sandbox Code Playgroud)
其中$ this-> reg-> conf-> database包含主机,数据库等的所有值.这有效,我有一个连接.
现在,当我var_dump结果如下:
<?php var_dump($this->result); ?>
Run Code Online (Sandbox Code Playgroud)
我明白了:
对象(mysqli_result)[9]
public'current_field'=> null
public'field_count'=> null
public'length'=> null
public'num_rows'=> null
public'type'=> null
但是,如前所述它应至少包含3行,所以我希望num_rows为'3'.
现在,当我var_dump结果的num_rows时,如下所示:
<?php var_dump($this->result->num_rows); ?>
Run Code Online (Sandbox Code Playgroud)
我得到一个'int 3'作为回应.
结论:在第一个var_dump中它是null,但是通过更深入的检查我得到3.所以它读取3行.当我添加另一行(第4行)时,它会按预期返回4.
我的问题是:为什么var_dump不能正常工作?为什么一开始就说null,但是通过更深入的检查确实有一个值.
在此先感谢,我真的很挣这个,因为我也没有任何错误.