PHP连接MySQL需配置环境并选择扩展,推荐使用PDO方式。首先确认PHP与MySQL已安装且支持mysqli或PDO;接着创建数据库及用户权限;然后通过MySQLi过程、对象或PDO方式连接,其中PDO支持多种数据库、安全性高;连接后可执行SQL查询如SELECT NOW()验证;最后及时关闭连接释放资源。开发中应避免明文密码,使用配置文件管理敏感信息。

PHP连接MySQL数据库是动态网站开发中的基础操作。通过PHP与MySQL的结合,可以实现数据的存储、读取和管理。以下是使用PHP连接MySQL数据库的完整步骤,适用于初学者和需要快速回顾的开发者。
1. 确保环境已配置
在开始前,确认你的服务器环境支持PHP和MySQL:
- 安装了PHP(建议版本 5.6 及以上,推荐使用 PHP 7+)
- 安装并运行了MySQL数据库服务
- PHP已启用mysqli或PDO扩展(通常默认开启)
你可以创建一个phpinfo.php文件,写入<?php phpinfo(); ?>,在浏览器中访问,查看是否包含mysqli或pdo_mysql信息。
2. 创建MySQL数据库和用户
登录MySQL命令行或使用phpMyAdmin等工具,执行以下操作:
立即学习“PHP免费学习笔记(深入)”;
- 创建数据库: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><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/ai/1464" title="Cliclic AI"><img
src="https://img.php.cn/upload/ai_manual/000/000/000/175680372963805.png" alt="Cliclic AI" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/ai/1464" title="Cliclic AI">Cliclic AI</a>
<p>Cliclic商品背景图编辑器是一款功能强大的AI工具,帮助用户快速生成具有吸引力的商品图背景。</p>
</div>
<a href="/ai/1464" title="Cliclic AI" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div><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项目青睐。确保不要在代码中明文暴露数据库密码,生产环境应使用配置文件并限制访问权限。










