🗣 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
搜索次数: 2
提问时间: 2025-11-12 19:00:47
🛒 域名购买:
t-v.com.cn
te.biz
sbnjt.com.cn
91.gold
pai.kim
kwzz.cn
63.gs
w-t.cn
lr.gs
b.qh.cn
❓️ 热门提问:
云计算可以用来做什么
设计官网网站
广播主机200
42u机柜 报价
如何用域名免费注册邮箱
相关vps
托管是怎样的
安徽水利开发有限公司招标网
云计算大数据人工智能
免费内网服务器映射
豌豆Ai站群搜索引擎系统
🌐 域名评估:
evtoltower.org.cn
h.qh.cn
fv.hk
www.net.cn
f.sc.cn
catl.club
sph.net.cn
yu7.gz.cn
nn.gs.cn
uf.cx
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
北京网站推广
sökmotor
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。