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 许可协议。转载请注明出处!