【发布时间】:2014-04-24 22:01:29
【问题描述】:
我的 PDO 连接有问题! 我读到我不想关闭 PDO 连接,因为会自动关闭! 但是如果你想手动关闭它,我需要将 Null 分配给连接变量。 但我使用一个数据库类,数据库查询是这样运行的!
$addUser = users::getInstance()->userAdd($data);
和 users 类包含以下内容
class users extends DB {
private static $_instance = null;
public static function getInstance(){
if (!isset(self::$_instance)){
self::$_instance = new users();
}
return self::$_instance;
}
[...]
}
和数据库类
class DB {
private static $_instance = null;
private $_con;
[...]
public function __construct(){
try{
$this->_con = new PDO('mysql:host=localhost';dbname=db,user,pass);
}catch(PDOException $e){
die ($e->getMessage());
}
}
public function __destruct (){
$this->close();
}
public static function getInstance(){
if (!isset(self::$_instance)){
self::$_instance = new DB();
}
return self::$_instance;
}
public function close(){
$this->_con = null;
}
[...] }
问题是脚本没有关闭连接,因为当我限制本地主机中的最大用户连接数或使用已经限制它的免费网络主机服务时,我收到此错误消息
SQLSTATE[HY000] [1203] User 'userName' already has more than 'max_user_connections' active connections
我需要一个解决方案,通过在我使用实例方法建立连接时关闭连接来避免此错误消息!
【问题讨论】: