

新闻资讯
技术学院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())。