文档章节

php单例模式,连接数据库

xiaobo137
 xiaobo137
发布于 2017/04/10 12:08
字数 333
阅读 23
收藏 0

最近做了一个基于php技术的企业网站,第一次使用php,边学边做,为了更好的完成网站,也为了让代码更易于维护,里面大量运用了单例模式,以下是数据库连接的代码,请君品鉴,如有可改进的,也希望您能提出意见,批评指正。

为了快速完成开发,没有使用配置文件,直接写在类里面了。 

conn.php

<?php
	
	class MySqlManager{
		
		private $con; 
		private static $instance;
		private $server="localhost";
		private $username="root";
		private $userpwd="111111"; 
		private $database="enterprise"; 
		
		public static function getInstance()
		{
			if(!self::$instance)
			{
				self::$instance=new MySqlManager();
			}
			return self::$instance;
		}

		public function execute($sql){
			 
			 return mysql_query($sql);
		} 

		public function close(){
			if($this->con)
			{
				mysql_close($this->con);
			}
		}

		public function open(){
			$this->con = mysql_connect($this->server.":3306",$this->username,$this->userpwd);
			
			if(!$this->con)
			{
				die("connect mysql error "+$this->con.mysql_error());
			}
			else
			{
				//echo "connect mysql success ";
				mysql_select_db($this->database);
			}
		}

		function __construct()
		{
			//构造函数
			//echo $this->server;
			$this->open();
		}

		function __destruct(){ //析构函数 

		}
	}
?>

这样的话,调用起来就很方便了

<?php
	require("./conn.php");
	$conobj= MySqlManager::getInstance(); 

    $conobj->open(); 
	
    $sql= "select * from table t"; 
    
    $query=$conobj->execute($sql);  
    
    $row=mysql_fetch_row($query);
    if($row)
	{
      //处理业务逻辑
     }
	
    $conobj->close(); 
?>

 

 

本博客文章大多是经验积累总结,以免今后忘却,记录下来。同时感谢您的阅读,也希望能对您有所帮助。

© 著作权归作者所有

共有 人打赏支持
xiaobo137
粉丝 35
博文 64
码字总数 33309
作品 0
长沙
项目经理
编程中的那些套路——关于单例模式

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 在设计模式中,单例模式和工厂模式)可以说是使用的最普遍的设计模式了,所以掌握此种模式尤为重要。 单...

gzchen
08/27
0
0
Python学习:19.Python设计模式-单例模式

一、单例模式存在的意义   在这里的单例就是只有一个实例(这里的实例就像在面向对象的时候,创建了一个对象也可以说创建了一个实例),只用一个实例进行程序设计,首先我们可以了解一下什...

BD-ld-2017
07/31
0
0
编程中的那些套路——关于工厂模式

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 前面我们写了简单工厂模式,《编程中的那些套路——关于简单工厂模式》,但简单工厂模式有一些不足(违反...

gzchen
08/27
0
0
TP5.0 Redis(单例模式)(原)

看到好多面试都问设计模式,我就简单的了解了一下,顺便把之前封装好的Reis做了一次修改. 单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行实例...

豆花饭烧土豆
08/09
0
0
Java之23种设计模式解析(二)

B、结构模式(7 种) 我们接着讨论设计模式,上篇文章我讲完了 5 种创建型模式,这章开始,我将讲下 7 种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模...

wersdffg
2015/02/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac OS 最强鼠标改键软件:BetterAndBetter

官网: http://www.better365.cn 话不多说,先上你们最喜欢的软件界面截图。 通用: 触摸板: 鼠标: 键盘: 情景模式: 文本跳窗(自动跳窗): 四角触发: 工具箱: 脚本: 关于: 说下我目...

故国有明
44分钟前
16
0
Hbase Schema 模型设计注意事项及示例

一、Hbase 数据模型概述 HBase的数据模型也是由表组成,每一张表里也有数据行和列,但是在HBase数据库中的行和列又和关系型数据库的稍有不同。 表(Table): HBase会将数据组织成一张表,表名必...

PeakFang-BOK
今天
6
0
Blockathon(2018)上海竞赛项目成果今天揭晓

开幕式现场 10月19日,Blockathon(2018)上海在黄浦区P2联合创业办公社举行,本次活动由50名区块链开发者组成9支参赛队伍,来自国内外优秀区块链开发团队的20名技术专家担任导师及裁判。9支队...

HiBlock
今天
6
0
微信小程序开发系列六:微信框架API的调用

微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发...

JerryWang_SAP
今天
13
0
5 个用 Python 编写 web 爬虫的方法

大家在读爬虫系列的帖子时常常问我怎样写出不阻塞的爬虫,这很难,但可行。通过实现一些小策略可以让你的网页爬虫活得更久。那么今天我就将和大家讨论这方面的话题。 我刚整理了一套2018最新...

糖宝lsh
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部