PHP关于mysqli对象的奇怪错误和一个非对象错误


Strange error PHP about mysqli object and a non object error

当我得到这个错误时:在非对象上调用成员函数query()

现在,当我转到它指定的行时,我会看到:

// Count the rows of a table
$query = $this->c->query("SELECT COUNT(*) as `rows` FROM ".$query) or die($this->c->error);
$row = $query->fetch_assoc();
$result = $row['rows'];
return $result;

现在,经过一番尝试,我发现当我死的时候,它给了我正确的结果($result);在返回之前,它给出了我需要的结果。

当我检查调用函数的行时,我会看到:

if($this->num_rows("accounts WHERE id='".$_SESSION['user_id']."'") == 0)

我的类是这样构建的:

我在有函数num_rows的地方创建了一个Db类,然后我创建了扩展Db类的类User,在User类的构造函数中,我通过执行parent::__construct()来初始化Db类;我百分之百肯定这个类已经初始化了,因为我可以执行真正的转义字符串,但不能执行任何查询。有人能帮我吗?

一些额外信息:

当我打印我的连接时,它给出的是:

mysqli Object ( [affected_rows] => 1 [client_info] => mysqlnd 5.0.8-dev - 20102224 -     $Revision: 310735 $ [client_version] => 50008 [connect_errno] => 0 [connect_error] => [errno] => 0 [error] => [field_count] => 1 [host_info] => localhost via TCP/IP [info] => [insert_id] => 0 [server_info] => 5.5.16 [server_version] => 50516 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 715 [warning_count] => 0 ) mysqli Object ( [affected_rows] => 1 [client_info] => mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $ [client_version] => 50008 [connect_errno] => 0 [connect_error] => [errno] => 0 [error] => [field_count] => 1 [host_info] => localhost via TCP/IP [info] => [insert_id] => 0 [server_info] => 5.5.16 [server_version] => 50516 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 715 [warning_count] => 0 )

我脑子里的问题是,为什么它有两个mysqli对象??

Db类=http://pastebin.com/yvDij0kG用户类别=http://pastebin.com/ndwa2YRr

尝试

if($this->c->num_rows("accounts WHERE id='".$_SESSION['user_id']."'") == 0)

或者尝试调试出现错误的"$this"

Ok发现了我自己的错误:p是因为我重写了构造函数,因此我无法在它自己的构造函数之外启动我的对象。