php单例模式应用于mysql数据库操作
来源:互联网 发布:office办公软件教材 编辑:程序博客网 时间:2024/06/03 21:38
PHP中有很多的数据库操作,使用单例模式进行数据库的操作,可以避免大量的new操作浪费资源;
使用单例模式可以很方便的实现一个类来全局控制某些配置信息;
单例模式的要点有三个:
一是某个类只能有一个实例;
二是它必须自行创建这个实例;
三是它必须自行向整个系统提供这个实例。
下里面来一个数据库操作的单例模式实例:
class db{public $conn;public static $sql;public static $intance = null;protected $host;protected $user;protected $pass;protected $database;protected $charset;public function __construct($host, $user, $pass, $database, $charset){$this->host = $host;$this->user = $user;$this->pass = $pass;$this->database = $database;$this->charset = $charset;$this->conn = mysql_connect($this->host, $this->user, $this->pass);if(!mysql_select_db($this->database, $this->conn)){die('mysql connect failed');}mysql_query('set name '.$this->charset, $this->conn);}public static function getIntance(){if(is_null(self::$intance)){self::$intance = new db($this->host, $this->user, $this->pass, $this->database, $this->charset);}return self::$intance;}/** *@param string $table *@param array $condition *@param array $field *@return array */public function getRows($table, $condition=array(), $field=array()){$where = '';if(!empty($condition)){foreach ($condition as $k=>$v){$where .= $k."='".$v."' and";}$where = 'where '.$where.' 1=1';}$fieldStr = '';if(!empty($field)){foreach ($field as $k=>$v){$fieldStr .= $v.',';}$fieldStr = rtrim($fieldStr, ',');}else{$fieldStr = "*";}self::$sql = "select {$fieldStr} from {$table} {$where}";$result = mysql_query(self::$sql, $this->conn);$resultRow = array();$i = 0;while($row = mysql_fetch_assoc($result)){foreach ($row as $k=>$v){$resultRow[$i][$k] = $v;}$i++;}return $resultRow;}/** * @param string $table * @param array $data * @param array $condition * @return boolean */public function update($table, $data=array(), $condition=array()){$where = '';if(!empty($condition)){foreach ($condition as $key=>$val){$where .= $key."='".$val."' and ";}$where = 'where '.$where .' 1=1';}$updateStr = '';if(!empty($data)){foreach ($data as $key=>$val){$updateStr .= $key." = '".$val."' ,";}$updateStr = 'set '.rtrim($updateStr, ',');}self::$sql = "update {$table} {$updateStr} {$where}";return mysql_query(self::$sql, $this->conn);}/** * * @param string $table * @param array $data * @return number|boolean */public function insert($table, $data=array()){$fields = '';$value = '';if(!empty($data)){foreach ($data as $k=>$v){$fields .= $k.',';$value .= "'$v'".',';}$fields = rtrim($fields, ',');$value = rtrim($value, ',');}else{die($data.' is not allowed empty!');}self::$sql = "insert into {$table} ({$fields}) values({$value})";if(mysql_query(self::$sql, $this->conn)){return mysql_insert_id();}else{return false;}}/** * * @param string $table * @param array $condition * @return resource */public function delete($table, $condition=array()){$where = '';if(!empty($condition)){foreach ($condition as $k=>$v){$where .= $k." = '".$v."', ";}$where = " where ".$where." 1=1";}self::$sql = "delete from {$table} {$where}";return mysql_query(self::$sql, $this->conn);}}
1 0
- php单例模式应用于mysql数据库操作
- PHP封装的一个单例模式Mysql操作类
- mySql的连接数据库操作(单例模式)
- PHP数据库单例模式
- PHP—PDO对象操作数据库及MYSQL行锁应用于
- [PHP] PHP Mysql单例模式
- php单例模式实现对象只被创建一次 mysql单例操作类
- PHP pdo单例模式连接数据库
- PHP-单例模式-数据库类
- PHP 单例模式连接数据库
- android 单例模式 数据库操作
- 使用单例模式,应用于hibernate3.2的获取session
- 【Java】利用单例模式、可变参数优化Java操作Mysql数据库、JDBC代码的写作
- PHP 操作mysql数据库
- PHP mysql 操作数据库
- php操作mysql数据库
- php操作mysql数据库
- PHP操作MySQL数据库
- #5JAVA字符串StringBuffer 和StringBuilder和 String #
- Android代码资源的国际化
- 使用Ajax递归调用服务器端示例代码
- 用opencv画虚线框矩形
- VC 获取系统时间
- php单例模式应用于mysql数据库操作
- 英文投稿的一点经验
- Android加载图片导致内存溢出(Out of Memory异常)
- 椒盐噪声 中值滤波 高斯噪声 均值滤波
- 文章标题
- java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
- H.264预测编码之帧间预测
- Android KeyguardManager相关内容学习
- centos7 mysql授权远程链接