php实现单例模式数据连接,mysql数据库连接
这是一个php的数据库连接的一个单例模式,可以在项目中通过类去连接数据,不会造成浪费数据库资源等现象。更有利于项目的开发比较的简单。
<?php /** * PHP单例模式连接数据库 * 利用单例模式连接数据库,节约数据库资源的开销,不会导致浪费数据资源 * 用法:$connect = Db::getInstance()->connect(); * 得到数据库连接资源$connect */ class Db { static private $_instance; static private $_connectSource; private $_dbConfig = array( 'host' => '127.0.0.1', 'user' => 'root', 'password' => '', 'database' => 'video', ); /*防止类被new操作*/ private function __construct() { } /*单例入口*/ static public function getInstance() { if(!(self::$_instance instanceof self)) {/*判读类是否被创建*/ self::$_instance = new self(); } return self::$_instance; } /*PHP连接数据库*/ public function connect() { if(!self::$_connectSource) { /*连接数据库*/ self::$_connectSource = @mysql_connect($this->_dbConfig['host'], $this->_dbConfig['user'], $this->_dbConfig['password']); if(!self::$_connectSource) {/*判读数据库是否连接成功*/ throw new Exception('mysql connect error ' . mysql_error()); //die('mysql connect error' . mysql_error()); } /*数据库选择*/ mysql_select_db($this->_dbConfig['database'], self::$_connectSource); /*数据库字符集*/ mysql_query("set names UTF8", self::$_connectSource); } return self::$_connectSource; } } /*$connect = Db::getInstance()->connect(); $sql = "select * from video"; $result = mysql_query($sql, $connect); echo mysql_num_rows($result); var_dump($result);*/
本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/258
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!