在Ubuntu系统中,PHP可以通过多种方式连接到数据库。以下是一些常见的数据库及其连接方法:
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
// 执行SQL查询
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
// 执行SQL查询
$stmt = $conn->query("SELECT id, name FROM users");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
$conn = null;
?>
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
// 执行SQL查询
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
try {
$conn = new PDO("pgsql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
// 执行SQL查询
$stmt = $conn->query("SELECT id, name FROM users");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
$conn = null;
?>
<?php
$dbname = "your_database.db";
// 创建连接
$conn = new SQLite3($dbname);
// 检查连接
if (!$conn) {
die("连接失败");
}
echo "连接成功";
// 执行SQL查询
$result = $conn->query("SELECT id, name FROM users");
if ($result) {
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "查询失败";
}
$conn->close();
?>
确保你已经安装了所需的PHP扩展。例如,对于MySQL/MariaDB,你可以使用以下命令安装mysqli和PDO扩展:
sudo apt-get update
sudo apt-get install php-mysql php-pdo
对于PostgreSQL,你可以使用以下命令安装pdo_pgsql扩展:
sudo apt-get update
sudo apt-get install php-pgsql
确保你的php.ini
文件中启用了所需的扩展。例如,对于MySQL/MariaDB,确保以下行没有被注释掉:
extension=mysqli
extension=pdo_mysql
对于PostgreSQL,确保以下行没有被注释掉:
extension=pdo_pgsql
重启你的Web服务器以应用更改:
sudo systemctl restart apache2
# 或者
sudo systemctl restart nginx
通过以上步骤,你应该能够在Ubuntu系统中使用PHP连接到数据库。