可能重复:
新的 Mysqli 对象为空
我刚开始为我的 MVC 框架构建我的数据库类。在构建它时,我正在尝试简单的查询和表以使其正常工作。
我试图查询以下内容:
选择 * 从 mvc_test
这应该返回 3 行:
1 | 测试
2 | 测试2
3 | 测试3
我使用以下方法查询:
<?php $this->result = $this->conn->query($this->q); ?>
$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']);
?>
其中 $this->reg->conf->database 包含主机、数据库等的所有值。这有效,我有一个连接。
现在,当我 var_dump 的结果是这样的:
<?php var_dump($this->result); ?>
我明白了:
对象(mysqli_result)[9]
公共 'current_field' => 空
公共'field_count' => null
公共“长度”=> null
公共'num_rows' => null
公共'类型' => null
但是,如前所述,它应该至少包含 3 行,所以我希望 num_rows 为“3”。
现在,当我 var_dump num_rows 的结果是这样的:
<?php var_dump($this->result->num_rows); ?>
我得到一个'int 3'作为回应。
结论:在第一个 var_dump 中它为空,但通过更深入的检查,我得到了 3。所以它读取 3 行。当我添加另一行(第 4 行)时,它按预期返回 4。
我的问题是:为什么 var_dump 不能正常工作?为什么一开始它说 null,但经过更深入的检查,它确实有价值。
在此先感谢,我真的很努力解决这个问题,因为我也没有收到任何错误。