Garey's Blog–FreeBSD/PHP/GoLang

二月 25th, 2010

关于php中mysqli->close()的使用问题

10,044 views, MySQL, PHP, by garey.

我在php中使用mysqli->close()的时候,总会出现如下的Warning:

Warning: mysqli::close() [mysqli.close]: Couldn’t fetch mysqli in /usr/local/apache2/htdocs/test.php on line 84

PHP代码如下:

class Mysql_class{

private $link;

function __destruct(){

$this->close();

}

function connect($dbhost, $dbport, $dbuser, $dbpasswd, $dbname){

$this->link = new mysqli($dbhost, $dbuser, $dbpasswd, $dbname, $dbport);

}

function close(){

$this->link->close();

}

}

$mydb = new Mysql_class($dbhost, $dbport, $dbuser, $dbpasswd, $dbname);

$mydb->close();

 

找了好久才发现在使用__destruct()执行$this->close()之后,就不需要再手动调用$mydb->close()了,这样mysqli->close就被执行了两次,所以第二次会提示Couldn’t fetch mysqli。

Back Top

发表评论