🗣 Wd提问: php连接mysql 单例模式
🤖 Ai回答: 以下是使用单例模式实现 PHP 连接 MySQL 的示例代码:
php
<?php
class Database {
// 保存唯一的实例
private static $instance = null;
// 数据库连接对象
private $connection;
// 私有化构造函数,防止外部实例化
private function __construct() {
$host = 'localhost'; // 数据库主机
$username = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$database = 'test'; // 数据库名称
// 创建数据库连接
$this-connection = new mysqli($host, $username, $password, $database);
// 检查连接是否成功
if ($this-connection-connect_error) {
die(数据库连接失败: 、$this-connection-connect_error);
}
}
// 获取唯一实例的静态方法
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new Database();
}
return self::$instance;
}
// 获取数据库连接
public function getConnection() {
return $this-connection;
}
// 禁止克隆实例
private function __clone() {}
// 禁止反序列化
private function __wakeup() {}
}
// 使用示例
$dbInstance = Database::getInstance();
$conn = $dbInstance-getConnection();
// 执行查询
$query = SELECT * FROM users;
$result = $conn-query($query);
if ($result-num_rows 0) {
while ($row = $result-fetch_assoc()) {
echo ID: 、$row[id] 、 Name: 、$row[name] 、<br;
}
} else {
echo 没有找到记录;
}
// 关闭连接(可选)
$conn-close();
?
说明:
1、单例模式:确保整个应用程序中只有一个数据库连接实例。
2、私有化构造函数:防止外部通过 `new` 创建新的实例。
3、静态方法 `getInstance`:提供全局访问点来获取实例。
4、禁用克隆和反序列化:防止通过克隆或反序列化创建新的实例。
请根据实际需求修改数据库配置信息(如主机、用户名、密码、数据库名等)。
📣 商家广告:





0
IP地址: 230.174.184.140
搜索次数: 0
提问时间: 2025-11-12 19:00:47
🛒 域名购买:
327.net.cn
app.ln.cn
qtem.cn
9el.cn
010.hk
82.gs
wosou.com.cn
6.ac.cn
zm.gs
73.gold
❓️ 热门提问:
模板外贸网站建设
云计算期末考试
futbol域名
域名在线购买
抢占域名
荆州服务器托管
sql服务器下载
.hk 域名注册
19寸22u标准机柜
租一个gpu服务器
豌豆Ai站群搜索引擎系统
🌐 域名评估:
drone.hk.cn
z-o.net
xhxai.tech
evtoltower.com
tt.hn.cn
b.xz.cn
rlkf.cn
ii.qh.cn
si.bj.cn
f.fj.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
Sökmotor Android
Programa de motor de búsqueda
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。