可能的重复:
新的 Mysqli 对象为 Null
我刚刚开始为 MVC 框架构建数据库类。在构建这个时,我正在尝试简单的查询和表,以使其正常工作。
我试图查询以下内容:
从 mvc_test 选择 *
这应该返回 3 行:
1 | test
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_结果)[9]
公共“当前字段”=>空
公共'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 中,它是 null,但通过更深入的检查,我得到 3。因此它读取 3 行。当我添加另一行(第四行)时,它按预期返回 4。
我的问题是:为什么 var_dump 无法正常工作?为什么一开始它说null,但是经过更深入的检查它确实有一个值。
预先感谢,我真的很难解决这个问题,因为我也没有收到任何错误。