PHP连接MySQL推荐用PDO(更安全、支持多种数据库),需确保mysqli或PDO扩展已启用,正确配置主机名、用户名、密码和数据库名,并设置charset=utf8mb4及异常错误模式。
PHP 连接 MySQL 主要靠 mysqli 或 PDO 扩展,推荐用 PDO(更安全、支持多种数据库),但 mysqli 也常用且简单。关键是确保扩展已启用、数据库信息正确、连接代码写对。
打开 phpinfo() 页面(新建 info.php,内容为 ),搜索 mysqli 或 PDO MySQL,确认状态为 enabled。若没看到:
extension=mysqli 和 extension=pdo_mysql 前的分号sudo apt install php-mysql,再重启 Web 服务(如 sudo systemctl restart apache2)你需要四个基本参数:
localhost 或 127.0.0.1;远程数据库填实际 IP 或域名root(开发可用,生产环境建议专用低权限账号)myapp_db
注意:不要把密码硬编码在公开文件中,上线前应移入配置文件或环境变量。
这是更现代、支持预处理防 SQL 注入的方式:
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
echo "✅ 连接成功";
} catch (PDOException $e) {
die("❌ 连接失败:" . $e->getMessage());
}
?>关键点:
charset=utf8mb4 支持 emoji 和完整 UTF-8 字符PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION 让错误抛出异常,便于调试$pdo->query("SELECT * FROM users") 执行查询适合习惯传统写法或老项目迁移:
$mysqli = new mysqli($host, $username, $password, $dbname);if ($mysqli->connect_error) { die("❌ 连接失败:" . $mysqli->connect_error); }
$mysqli->set_charset("utf8mb4"); echo "✅ 连接成功"; ?>
后续查询示例:
$result = $mysqli->query("SELECT id, name FROM users");while ($row = $result->fetch_assoc()) { echo $row['name']; }不复杂但容易忽略细节:扩展启用、字符集设置、错误处理、密码安全。连上之后,记得及时关闭连接(PDO 自动释放,mysqli 可调 $mysqli->close())。
# mysql
# php
# linux
# word
# windows
# apache
# 编码
# app
# ubuntu
# 环境变量
# win
# sql
# echo
# while
# 面向对象
# select
# mysqli
# pdo
# 对象
# 数据库
# 可调
# 这是
# 要把
# 重启
# 抛出
# 配置文件
# 连上
# 主要靠
# 前应
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
如何在Golang中操作嵌套切片指针_Golang多维slice修改
MAC怎么使用表情符号面板_MAC Emoji快捷键调用与符号查找【方法】
Linux怎么禁止Root用户远程登录_Linux系统SSH加固与安全设置【教程】
Win11笔记本怎么看电池健康度_Win11电池报告生成命令【详解】
Windows 11怎么更改锁屏超时时间_Windows 11电源选项中设置屏幕关闭时间
C++友元类使用场景_C++类间协作设计方式讲解
Win11如何开启系统更新 Win11开启系统更新方法【步骤】
Win11鼠标灵敏度怎么调 Win11鼠标指针移动速度设置【教程】
VSC怎么创建PHP项目_从零开始搭建项目的步骤【操作】
LINUX怎么查看进程_LINUX ps命令查看运行服务
Python对象比较与排序_魔术方法解析【教程】
Win11怎么关闭防火墙通知_屏蔽Win11安全中心安全警告弹窗【技巧】
Windows7如何安装系统镜像_Windows7系统安装教程【步骤】
Win11如何设置文件关联 Win11修改特定文件类型的默认打开程序【详解】
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何在 Go 中正确反序列化多个同级 XML 元素(而非单个根节点)
微信企业付款回调PHP怎么接收_处理企业付款异步通知数据教程【教程】
海外搜索引擎推广效果怎么样,怎么分析效果!
Win10如何备份注册表_Win10注册表备份步骤【攻略】
Python函数参数高级用法_默认值与可变参数解析【教程】
Mac如何开启夜览模式_Mac护眼模式设置与定时
C#如何序列化对象为XML XmlSerializer用法
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
如何使用Golang指针与接口结合_实现方法调用和动态类型
如何用::实现工具类方法调用_php静态工具类设计技巧【技巧】
如何使用Golang实现文件加密_Golang crypto 文件加密示例
如何使用Golang开发基础文件下载功能_Golang HTTP文件响应与缓存实现
php中作用域操作符能访问私有静态属性吗_访问权限限制【指南】
Python变量绑定机制_引用模型解析【教程】
微信里的php文件怎么变mp4_微信接收php转mp4操作步骤【操作】
Laravel 查询 JSON 列:高效筛选包含数组中任意值的记录
Win11怎么设置任务栏对齐方式_Windows11个性化任务栏行为
Win11屏幕亮度突然变暗怎么解决_自动变暗问题处理
Windows10电脑怎么设置防火墙出站规则_Win10禁止程序联网教程
如何在 Pandas 中按元素交集合并两列字符串
如何在Golang中配置代码格式化工具_使用gofmt和goimports
新手学PHP架构总混淆概念咋办_重点梳理【教程】
Windows系统被恶意软件破坏后的恢复策略_错误提示修复方式
如何提升Golang程序I/O性能_Golang I/O密集型程序优化示例
Win11如何设置鼠标灵敏度_Win11鼠标灵敏度调整教程【攻略】
Win11怎么开启移动热点_Windows11共享网络给手机设置教程
php后缀怎么变mp4能播放_让php伪装mp4正常播放的技巧【技巧】
Win11怎么关闭通知中心_Windows11系统通知与专注助手设置
php怎么捕获异常_trycatch结构处理运行时错误的技巧【方法】
C++如何获取CPU核心数?(std::thread::hardware_concurrency)
Win11怎么设置虚拟内存_Windows 11优化内存性能提升速度【技巧】
Win10怎么关闭自动更新错误弹窗_Win10策略屏蔽失败提示减少干扰【防护】
如何在Golang中实现CI/CD流水线自动化测试_Golang持续集成测试执行方法
Windows10系统怎么查看防火墙状态_Win10安全中心网络保护
获取 PHP 文件最后修改时间的正确方法
2025-12-24
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。