在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連接到數據庫。