我有一条简单的线class autorization extends mysql
,它会导致致命错误:在...中的非对象上调用成员函数 close()在那一行是
function __destruct(){
$this->connection->close();
}
构造函数
$mysqli = new mysqli(*****);
$this->connection = $mysqli;
目前没有其他方法ot class mysql不使用
连接属性未初始化。如果您在mysql
类中有一个构造函数,请确保您没有通过在autorization
类中指定一个构造函数来完全覆盖它。这可以通过添加:
parent::__constructor( any_params_to_mysql_go_here );
顺便说一句,您的问题不清楚谁维护连接属性:mysql 类与否?
出于测试目的尝试
function __destruct(){
if ( !is_object($this->connection) ) {
echo ' $this->connection is not an object', "\n";
var_dump($this->connection);
die;
}
if ( !method_exists($this->connection, 'close') ) {
echo '$this->connection has no method close()', "\n";
echo get_class($this->connection), "\n";
die;
}
$this->connection->close();
}