ubuntu

ubuntu上php怎么连接数据库

小樊
37
2025-04-21 17:53:30
栏目: 编程语言

在Ubuntu上,PHP可以通过多种方式连接到数据库。以下是一些常见的数据库及其连接方法:

1. MySQL/MariaDB

使用mysqli扩展

<?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();
?>

使用PDO扩展

<?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;
?>

2. PostgreSQL

使用pgsql扩展

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 创建连接
$conn = pg_connect("host=$servername dbname=$dbname user=$username password=$password");

// 检查连接
if (!$conn) {
    echo "连接失败: 无法连接到数据库\n";
    exit;
}
echo "连接成功\n";

// 执行SQL查询
$result = pg_query($conn, "SELECT id, name FROM users");

while ($row = pg_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. "\n";
}

pg_close($conn);
?>

使用PDO扩展

<?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 "连接成功\n";

    // 执行SQL查询
    $stmt = $conn->query("SELECT id, name FROM users");
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "\n";
    }
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}

$conn = null;
?>

3. SQLite

使用SQLite3扩展

<?php
$dbname = "your_database.db";

// 创建连接
$conn = new SQLite3($dbname);

// 检查连接
if (!$conn) {
    echo "连接失败";
} else {
    echo "连接成功";
}

// 执行SQL查询
$result = $conn->query("SELECT id, name FROM users");

while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}

$conn->close();
?>

安装扩展

如果你还没有安装相应的PHP扩展,可以使用以下命令进行安装:

MySQL/MariaDB

sudo apt-get update
sudo apt-get install php-mysql

PostgreSQL

sudo apt-get update
sudo apt-get install php-pgsql

SQLite3

sudo apt-get update
sudo apt-get install php-sqlite3

安装完成后,重启你的Web服务器(例如Apache或Nginx)以使更改生效:

sudo systemctl restart apache2  # 对于Apache
sudo systemctl restart nginx    # 对于Nginx

通过这些步骤,你应该能够在Ubuntu上使用PHP连接到不同的数据库。

0
看了该问题的人还看了