php-单例模式实现mysql实例化对象

本文介绍如何使用PHP单例模式封装MySQL连接类,包括配置文件的定义、连接类的实现及具体调用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.回顾

    上篇学习了php一个实例:简单的文章管理系统

2.学习点

    这篇将使用单例模式封装一个实现mysql的实例化对象类

3.实现类

    3.1 配置文件 config.php

         定义常量:主机地址,用户名,密码,数据库名称。

<span style="font-size:18px;"><?php

define('HOST','localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DATABASE', 'test');
</span>

    3.2 实现 mysqlUtil.php 

         通过单例模式实例化 mysql_connect() 对象和选择数据库,设置编码集!
<span style="font-size:18px;"><?php
// 单例模式 连接数据库
// 构造函数标记为非public
// 拥有保存类实例的静态成员
// 拥有访问这个实例的公告方法
require_once 'config.php';
class Db {
	
	// 保存实例的静态成员
	private static $_instance;
	private static $_conn;
	// 构成函数
	private function __construct() {
	}
	
	/**
	 * 公共入口方法
	 */
	static public function getInstance() {
		// 检测不到,重新实例化 对象
		if (! (self::$_instance instanceof self)) {
			self::$_instance = new self ();
		}
		return self::$_instance;
	}
	
	/**
	 * 连接方法
	 * 
	 * @return resource
	 */
	public function connect() {
		if (! self::$_conn) {
			self::$_conn = mysql_connect ( HOST, USERNAME, PASSWORD );
			//self::$_conn=mysql_connect('localhost','root','');
			if (! self::$_conn) {
				die ( '连接失败  ' . mysql_error () );
			}
			// 选择数据库
			mysql_select_db (DATABASE, self::$_conn );
			// 设置字符集
			mysql_query ( "set names utf8", self::$_conn );
		}
		return self::$_conn;
	}
}

?></span>


    3.3 调用和使用

<span style="font-size:18px;">//调用
$con=Db::getInstance()->connect();

//查询语句
$sql='select * from user_info';
//执行,返回结果集
$result=mysql_query($sql,$con);
//添加的新数组
$arr3=array();
while ($row=mysql_fetch_row($result)){
	array_push($arr3,$row);
}</span>


4.总结

  使用的时候,需要配置 config.php 文件和调用的时候,不要忘了 调用 connect()方法!

5.demo下载









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值