+ -
当前位置:首页 → 问答吧 → PHP单例连接数据库,销毁的时候出现找不到连接

PHP单例连接数据库,销毁的时候出现找不到连接

时间:2011-08-27

来源:互联网

PHP用单例连接的数据库。代码是这样的PHP code
 class conn{
     private $db_hand;
      function conn(){
     $mysql_server_name="localhost";
    $mysql_username="root";
    $mysql_password="";
    $mysql_database="test";
        $this->db_hand=mysql_connect($mysql_server_name, $mysql_username,
                        $mysql_password)or die("连接数据库失败");

     }
     public static function get(){
     static $db = null;
    if ( $db == null )
      $db = new conn();
    return $db;

     }
     public  function connect(){
    return $this->db_hand;
     }
}

在调使用到此类以后,然后对这个连接进行销毁,出现不存在的错误,是PHP5.

作者: ai158761028   发布时间: 2011-08-27

这不是正确的单例模式
获取对象的方法应该是
PHP code


static $mysqlObject;
public function get()
{
if( !(self::$mysqlObject instanceof self) ) //如果静态变量$mysqlObject不是con类(self)的对象
    self::$mysqlObject = new self;

return self::$mysqlObject;
}



这个静态变量我想应该是全局的才对,还有构造方法 con() 最好改用 __construct() 命名

作者: dream1206   发布时间: 2011-08-27