PHP连接MySQL数据库详细教程
时间:2026-03-29 15:10:34 462浏览 收藏
本文系统讲解了PHP连接MySQL数据库的完整流程,从环境配置、数据库与用户创建,到使用MySQLi过程式、面向对象及更安全灵活的PDO三种连接方式,并涵盖连接验证、SQL查询执行和资源释放等关键环节,强调了密码保护与配置文件管理等生产环境最佳实践,是PHP开发者掌握动态网站数据交互基础技能的实用指南。

PHP连接MySQL数据库是动态网站开发中的基础操作。通过PHP与MySQL的结合,可以实现数据的存储、读取和管理。以下是使用PHP连接MySQL数据库的完整步骤,适用于初学者和需要快速回顾的开发者。
1. 确保环境已配置
在开始前,确认你的服务器环境支持PHP和MySQL:
- 安装了PHP(建议版本 5.6 及以上,推荐使用 PHP 7+)
- 安装并运行了MySQL数据库服务
- PHP已启用mysqli或PDO扩展(通常默认开启)
你可以创建一个phpinfo.php文件,写入,在浏览器中访问,查看是否包含mysqli或pdo_mysql信息。
2. 创建MySQL数据库和用户
登录MySQL命令行或使用phpMyAdmin等工具,执行以下操作:
- 创建数据库:CREATE DATABASE test_db;
- 创建用户并授权:CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'password123';
- 授权访问:GRANT ALL PRIVILEGES ON test_db.* TO 'db_user'@'localhost';
- 刷新权限:FLUSH PRIVILEGES;
3. 使用MySQLi面向过程方式连接
这是最简单直接的方式,适合入门学习:
<?php
$host = 'localhost';
$username = 'db_user';
$password = 'password123';
$dbname = 'test_db';
<p>$conn = mysqli_connect($host, $username, $password, $dbname);</p><p>if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "MySQLi连接成功";
?></p>4. 使用MySQLi面向对象方式连接
更推荐使用面向对象方式,结构清晰:
<?php
$host = 'localhost';
$username = 'db_user';
$password = 'password123';
$dbname = 'test_db';
<p>$conn = new mysqli($host, $username, $password, $dbname);</p><p>if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "MySQLi面向对象连接成功";
?></p>5. 使用PDO方式连接(推荐)
PDO支持多种数据库,安全性更高,适合项目开发:
<?php
$host = 'localhost';
$dbname = 'test_db';
$username = 'db_user';
$password = 'password123';
$charset = 'utf8mb4';
<p>$dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];</p><p>try {
$pdo = new PDO($dsn, $username, $password, $options);
echo "PDO连接成功";
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?></p>6. 测试连接并执行简单查询
连接成功后,可尝试执行一条SQL语句验证:
$sql = "SELECT NOW() as time";
$result = $conn->query($sql); // MySQLi
// 或 $result = $pdo->query($sql); // PDO
<p>if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "当前时间:" . $row['time'];
}
}</p>7. 关闭连接
脚本执行完毕后,及时释放资源:
- MySQLi:$conn->close();
- PDO:连接会在脚本结束时自动关闭,也可手动置空:$pdo = null;
基本上就这些。选择合适的方式连接数据库,PDO因其安全性和灵活性更受现代PHP项目青睐。确保不要在代码中明文暴露数据库密码,生产环境应使用配置文件并限制访问权限。
今天关于《PHP连接MySQL数据库详细教程》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
126 收藏
-
280 收藏
-
242 收藏
-
146 收藏
-
243 收藏
-
407 收藏
-
156 收藏
-
237 收藏
-
406 收藏
-
445 收藏
-
426 收藏
-
153 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习