在LNMP(Linux + Nginx + MySQL + PHP)环境中,PHP连接MySQL数据库主要有以下几种方式:
<?php
$servername = "localhost";
$username = "数据库用户名";
$password = "数据库密码";
$dbname = "数据库名";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
// 执行查询等操作...
// 关闭连接
$conn->close();
?>
<?php
$servername = "localhost";
$username = "数据库用户名";
$password = "数据库密码";
$dbname = "数据库名";
try {
$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
$conn = mysql_connect("localhost", "数据库用户名", "数据库密码");
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db("数据库名", $conn);
// 执行查询等操作...
// 关闭连接
mysql_close($conn);
?>
连接失败:
PHP扩展未安装:
权限问题:
在LNMP环境中,通常这些扩展已经默认安装,如果没有,可以使用以下命令安装:
# 对于MySQLi
sudo apt-get install php-mysqli
# 对于PDO
sudo apt-get install php-pdo php-pdo-mysql
安装后需要重启PHP-FPM服务:
sudo service php-fpm restart