<?php
/**describe:单例模式 数据库类
单例模式的必要条件
(1)私有的构造方法-为了防止在类外使用new关键字实例化对象
(2)私有的成员属性-为了防止在类外引入这个存放对象的属性
(3)私有的克隆方法-为了防止在类外通过clone成生另一个对象
(4)公有的静态方法-为了让用户进行实例化对象的操作
*/
header("content-type:text/html;charset=utf-8");class DbSingleton
{private $charset = "utf8";         //字符串编码//私有的成员属性-为了防止在类外引入这个存放对象的属性private static $instance = NULL;   //存储对象//私有的构造方法-为了防止在类外使用new关键字实例化对象private function __construct($host, $username, $password, $dbname, $port){$link = mysqli_connect($host, $username, $password, $dbname, $port);if (!$link) {die("连接错误: " . mysqli_connect_error());}// 修改数据库连接字符集为 utf8mysqli_set_charset($link, $this->charset);return $link;}//私有的克隆方法-为了防止在类外通过clone成生另一个对象private function __clone(){}//公有的静态方法-为了让用户进行实例化对象的操作public static function getInstance($host, $username, $password, $dbname, $port){if (!self::$instance instanceof self) {self::$instance = new self($host, $username, $password, $dbname, $port);}return self::$instance;}
}//测试:
//$host     = '127.0.0.1';
//$username = 'root';
//$password = '123456';
//$dbname   = 'test';
//$port     = 3306;
//$db = DbSingleton::getInstance($host, $username, $password, $dbname, $port);
//var_dump($db);

转载于:https://www.cnblogs.com/jxl1996/p/10172654.html

使用单例模式建立一个数据库连接简单示例相关推荐

  1. 建立一个最简单的FLV和MP4播放器

    建立一个最简单的FLV和MP4播放器 在Flash CS3中建立一个Flash文档后 选中脚本面板 利用NetConnection和NetStream即可完成功能 代码如下: var nc:NetCo ...

  2. Linux下 运行Jmeter (含一个jmeter简单示例)

    本文的方法是现在图形界面下添加好组件,生成jmx脚本文件,然后将jmx文件放到linux环境下用命令行运行脚本,进行性能测试. 1.  用Jmeter进行打压测试 如果可以打开图形界面,则可以参看图形 ...

  3. 在虚拟机中建立一个最简单的JSP网页,并通过Tomcat服务器发布这个网页。通过虚拟机的宿主机浏览器访问虚拟机上所发布的JSP网页

    在这里介绍下,本次实验用的虚拟机是win7系统,主机是win10系统.用的是校园网,输入账号密码登录. (1)第一步,我们在虚拟机上下载JDK(Java development kit)以及Tomca ...

  4. 学习JSP——在虚拟机中建立一个JSP网页,通过Tomcat服务器发布,并通过虚拟机的宿主机浏览器访问虚拟机上所发布的JSP网页

    1.介绍JSP (1)简介 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是 ...

  5. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  6. SmartSql使用教程(1)——初探,建立一个简单的CURD接口服务

    一.引言 最近SmartSql被正式引入到了NCC,借着这个契机写一个使用教程系列 二.SmartSql简介[摘自官方文档] 1. SmartSql是什么? SmartSql = MyBatis + ...

  7. 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement

    本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程.并分别通过Statement和PreparedStatement实现对数据库的查询. 在下一篇blog中将重点比較Statement与P ...

  8. bat 删除文件_利用电脑文本文档建立一个简单方便的删除文件的小程序

    删除文不需要的文件或者资料,是日常工作中必定会遇到了. 各种的杀毒软件或者防护软件都具备删除文件的功能,例如360.腾讯电脑管家.这些操作起来其实也不是太麻烦! 不过呢!今天来和大家分享一个更简单的方 ...

  9. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

最新文章

  1. python统计窗口函数怎么处理_python移动窗口函数
  2. java新手笔记21 接口
  3. webview跟html通信的原理,1.iOS: webView与html的交互
  4. web前端从无到有html标签,.NET MVC 扩展 HtmlHelper 从无到有(一)
  5. python字符串三,删除空白符,对齐函数及判断函数
  6. jms pub/sub模型_JMS消息传递模型:点对点和发布/订阅
  7. 7. Swift 基于Xmpp和openfire实现一个简单的登录注册
  8. JAVA8——StringJoiner类
  9. 知乎:tomcat 与 nginx,apache的区别是什么?
  10. java多线程(超详细)
  11. SSM+网上书店管理系统 毕业设计-附源码082255
  12. matlab 求其骨架,数字图像处理图像的骨架生成和提取(Matlab)三种方法
  13. 查询天气的接口api收集总结
  14. 首批接入司法数据的网贷平台已拒贷3万余失信被执行人
  15. Win11任务栏消息提醒功能如何开启教学
  16. 软件测试中的杀虫剂效应与金字塔模型
  17. SMM框架学习日志——Spring详述
  18. 通信原理包络是什么意思_2021年通信原理考研题库
  19. 原链YCC落地应用之仓单金融
  20. 【基因调控网络】Discovering Gene Networks with a Neural-Genetic Hybride(单层神经网络与遗传算法混合算法2005)

热门文章

  1. Server Core 的部署与管理
  2. vi保存退出:x与:wq的区别
  3. ElasticSearch权威指南学习(结构化查询)
  4. [转] FFmpeg常用基本命令
  5. 版本控制之svn命令行下检出、提交、更新
  6. java学习笔记 --- 多线程(多线程的控制)
  7. ASP.Net中实现上传过程中将文本文件转换成PDF的方法
  8. 二维数组的遍历之查漏补缺
  9. 一些服务器客户端的c例子
  10. 解决mysql5数据库连接超时问题