本文介绍如何在LNMP (Linux, nginx, mysql/MariaDB, php) 环境中,使用PHP连接MySQL数据库。我们将分别讲解mysqli和pdo两种扩展的用法。
方法一:使用MySQLi扩展
CREATE DATABASE mydatabase; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES;
- php脚本编写: 接下来,编写PHP脚本连接数据库。 请替换以下代码中的数据库配置信息为你的实际配置:
<?php // 数据库配置信息 $servername = "localhost"; $username = "myuser"; $password = "mypassword"; $dbname = "mydatabase"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; // 关闭连接 $conn->close(); ?>
方法二:使用PDO扩展
-
数据库及用户创建: 与方法一相同,先创建数据库和用户并赋予权限 (参见上面的SQL语句)。
立即学习“PHP免费学习笔记(深入)”;
-
PHP脚本编写: 使用PDO扩展连接数据库的PHP脚本如下,同样需要将配置信息替换为你的实际配置:
<?php // 数据库配置信息 $servername = "localhost"; $username = "myuser"; $password = "mypassword"; $dbname = "mydatabase"; try { // 创建PDO实例 $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // 设置PDO错误模式为异常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "连接成功"; } catch(PDOException $e) { echo "连接失败: " . $e->getMessage(); } // 关闭连接 $conn = null; ?>
重要提示:
- 安全性: 切勿将数据库用户名和密码直接硬编码在PHP脚本中。 建议使用配置文件或环境变量来存储这些敏感信息,以增强安全性。
- 错误处理: 生产环境中,需要更完善的错误处理机制,而不仅仅是简单的错误信息输出。
- 持久连接: 对于高并发应用,考虑使用持久连接以提升性能,减少连接建立和关闭的开销。
选择MySQLi还是PDO取决于你的项目需求和偏好。 两者都能有效连接MySQL数据库,并提供不同的功能和优势。 遵循安全性和最佳实践,确保你的数据库连接安全可靠。