设计模式 - 单例模式mysql数据库操作类

待续。。。

index.php

调用方法:

<?php
header(‘Content-Type:text/html; charset=utf8‘);
require ‘instance.php‘;

$db = MySQLDB::getInstance(‘127.0.0.1:3306‘, ‘root‘, ‘123456‘, ‘test‘);
$db->insertData();

instance.php

单例操作类:

<?php
/**
* 单例模式MySQL数据库操作类
*/
class MySQLDB
{
	/**
	 * 存储数据库来你就诶
	 * @var NULL
	 */
	private $_conn = NULL;
	/**
	 * 存储实例对象
	 * @var null
	 */
	private static $_instance = NULL;

	/**
	 * 克隆方法
	 * @return null null
	 */
	private function __clone() { }

	/**
	 * 构造方法
	 * @param string $host    主机名称
	 * @param string $user    用户名
	 * @param int    $pwd     mima
	 * @param string $dbname  选择的数据库名称
	 * @param int    $port    端口号
	 * @param string $charset 字符集
	 */
	private function __construct($host, $user, $pwd, $dbname, $port, $charset)
	{
		$this->_conn = mysqli_connect($host, $user, $pwd, $dbname, $port, $charset);
		mysqli_set_charset($this->_conn, $charset);
	}

	/**
	 * 获取对象方法
	 * @param string $host    主机名称
	 * @param string $user    用户名
	 * @param int    $pwd     mima
	 * @param string $dbname  选择的数据库名称
	 * @param int    $port    端口号:默认3306
	 * @param string $charset 字符集:默认‘utf8‘
	 */
	public static function getInstance($host, $user, $pwd, $dbname, $port=‘3306‘, $charset=‘utf8‘)
	{
		if ( !(self::$_instance instanceof self) ) {
			self::$_instance = new self($host, $user, $pwd, $dbname, $port, $charset);
		}
		return self::$_instance;
	}

	#+++++++++++++++++++++++ 实现一些公开的方法 ++++++++++++++++++++++

	public function insertData()
	{
		echo ‘插入数据‘;
	}

}
时间: 2024-10-10 12:41:19

设计模式 - 单例模式mysql数据库操作类的相关文章

PHP单例模式的数据库操作类

自己练习写的单例模式的数据库操作类 1 <?php 2 //先建立单模:三私(私有变量.私有构造函数.私有的__clone函数)一公(公有方法),再封装连接数据库,以及返回结果 3 class MySQLDB{ 4 //定义连接数据库需要用到的私有属性 5 private $host; //主机id 6 private $port; //端口号 7 private $user; //用户 8 private $psw; //密码 9 private $dbname; //数据库名称 10 pri

php pdo mysql数据库操作类

原文:php pdo mysql数据库操作类 findAll(array( 'field'=>'ID,albumName,albumImage, mainActor,directors,tags,info,area, keywords,wflag,year,mod_version,totalDuration', 'where'=>$where, 'order'=>'flag desc,hit_count desc', 'limit'=>"{$limit['offset']

MySQL数据库操作类(PHP实现,支持连贯操作)

使用过ThinkPHP框架的同学可能会对于其中数据库模型操作特别有好感,ThinkPHP提供了数据库操作的简单的操作,对于连接数据库,数据库的增删改查等数据操作都非常的nice,同时支持连贯操作,对于那些不习惯写sql语句的同学真是大大的便利.(注:sql还是很重要的,不要因为用了框架就把原先的忘了). 而在笔者使用php操作redis实现后台任务的过程中,也想要借助这种便利,但无奈redis操作单独的类,直接访问其中的controller文件的话,总是会提示M方法失败,导致此模型方法不能使用.

php中mysql数据库操作类

talk less and show code: <?php/** *以下代码用于数据库操作类的封装* * @author rex<[email protected]> * @version 1.0* @since 2015*/ class Mysql{ //数据库连接返回值 private $conn; /*** [构造函数,返回值给$conn]* @param [string] $hostname [主机名]* @param [string] $username[用户名]* @par

php 封装mysql 数据库操作类

<?phpheader('content-type:text/html;charset=utf-8');//封装mysql   连接数据库php_mysql//封装mysql   连接数据库php_mysqli//封装mysql   连接数据库php_pdoclass db{    //三私一共    //私有的静态属性    private static $dbcon = false; //存储数据库连接对象    //私有的构造方法    private function __constru

自己封装的ASP.NET的MYSQL的数据库操作类

/** * 作者:牛腩 * 创建时间:2010年3月7日17时35分 * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MySql.Data.MySqlClient; namespace Niunan.BYLW.Utility { /// <summary>对MYSQL数据库的操作类 /// /// </summary> public class MYSQLHelper { private MySqlConn

PHP 数据库操作类:ezSQL

EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.html ezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.oracle8/9 .interbase.FireBird.PostgreSQL.MS-SQL.sqlite.sqlite C++). 在你的脚本开头是要包含一个一个PHP文件.然后,你就可以使用更小.更容易的一套ezsql函数来代替标准的PHP数据库函数. 它会自动缓存的查询结果,提供了一系列简单

PDO数据库操作类

1 <?php 2 include 'common_config.php'; 3 4 /** 5 * Class Mysql 6 * PDO数据库操作类 7 */ 8 class Mysql { 9 protected static $_dbh = null; //静态属性,所有数据库实例共用,避免重复连接数据库 10 protected $_dbType = DB_TYPE; 11 protected $_pconnect = false; //是否使用长连接 12 protected $_h

Java数据库操作类演示

只在mysql上测试过,不知道算不算好使?1. [代码][Java]代码     package org.load.demo; import java.io.IOException;import java.util.List;import java.util.Map; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRe