以单例模式实现数据库连接

<?php

class Db {
	static private $_instance;
	static private $_connectSource;
	private $_dbConfig = array(
		'host' => '127.0.0.1',
		'user' => 'root',
		'password' => '',
		'database' => 'video',
	);

	private function __construct() {
	}

	static public function getInstance() {
		if(!(self::$_instance instanceof self)) {
			self::$_instance = new self();
		}
		return self::$_instance;
	}

	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);*/

时间: 2024-10-11 00:11:48

以单例模式实现数据库连接的相关文章

PHP单例模式实现数据库连接

class DB {     private $db_config = './config.php';     private static $_instance;     private function __construct()     {         if (file_exists($this->db_config)) {             require $this->db_config;             self::$_instance = new mysqli(

c#之使用单例模式实现数据库连接

1.使用程序集Oracle.ManagedDataAccess.dll using Oracle.ManagedDataAccess.Client; using System.Configuration; namespace ClassLibrary1 { /// /// 数据库连接练习单例模式 /// public class oracledbconect { private static OracleConnection con = null; private static object o

php单例模式

单例模式 所谓的单例模式简而言之就是某个类在运行过程中只有一个实例,并且能够自行实例化并为整个系统的运行提供这个实例.在数据库连接中使用单例模式实例化数据库连接对象主要是可以避免重复的实例化对象而造成资源的浪费. php实现数据库连接对象单例模式主要包括三点: 1 需要一个保存类的唯一实例静态成员变量,一般为$_instance private变量;private $_instance; 2 构造函数和克隆函数必须声明为私有,防止被外部实例化类;private function __constr

单例模式概念

单例模式概念 单例模式是指整个应用中类只有一个对象实例的设计模式. 单例模式的特点 单例模式的特点 单例模式的主要特点是“三私一公”: 需要一个保存类的唯一实例的私有静态成员变量 构造函数必须声明为私有的,防止外部程序new一个对象从而失去单例的意义 克隆函数必须声明为私有的,防止对象被克隆 必须提供一个访问这个实例的公共静态方法(通常命名为getInstance),从而返回唯一实例的一个引用. 一个类在整个应用中只有一个实例 类必须自行创建这个实例 必须自行向整个系统提供这个实例 php中使用

单例模式获取JDBC连接

package com.jdbc.test; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Pro

为什么使用单例模式【转】

单例模式也是一种比较常见的设计模式,它到底能带给我们什么好处呢?其实无非是三个方面的作用: 第一.控制资源的使用,通过线程同步来控制资源的并发访问: 第二.控制实例产生的数量,达到节约资源的目的. 第三.作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信. 比如,数据库连接池的设计一般采用单例模式,数据库连接是一种数据库资源.软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的.当然

单例模式的优点

转载:http://blog.csdn.net/cnjavatyro/article/details/6225817 单例模式是一种常见的设计模式,在<Java与模式>一书中,阎宏博士对单例模式做了全面的总结. Java Singleton模式就为我们提供了这样实现的可能.使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数, 有利于Java垃圾回收(garbage collection). 单例模式也是一种比较常见的设计模式,它到底能带给我们什么好处呢?其实无非是三个方面的

Java遇见HTML——JSP篇之商品浏览记录的实现

一.项目总体介绍 使用Cookie实现商品浏览记录. 要实现这个程序采取的是Model1(Jsp+JavaBean)架构实现,具体步骤: 首先要有个数据库,商品表,操作数据库的一个类DBHelper类 创建实体类(与数据库表一一对应) 创建业务逻辑类(DAO) 创建页面层 二.DBHelper类设计 1 package util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 6 public class D

使用Cookie实现商品的浏览记录功能

之前在前面一篇文章中简单的介绍了一下Cookie的来历与简单的用法,以及与Session两者之间的区别,然而理论终究还是要与实践相结合的,有了实践,理论才能得以更好的巩固.尤其是编程这种技术性操作性及其强的工作,更需要不断的去实践. 像很多购物网站.淘宝,京东等购物网站,细心的朋友都会发现页面的一侧都会有那种浏览过的商品历史记录信息,之前也只是听说这个是使用cookie机制实现的,但是具体怎么实现的还不是很清楚,通过这两天的学习,终于也大致清楚这其中的奥秘,好了,废话不多说了,这两天练习了一个小