在Ubuntu上,PHP可以通過多種方式連接到數據庫。以下是一些常見的數據庫及其連接方法:
要使用PHP連接到MySQL或MariaDB數據庫,你可以使用mysqli擴展或PDO(PHP Data Objects)擴展。
使用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 "連接成功";
$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 "連接成功";
} catch(PDOException $e) {
echo "連接失敗: " . $e->getMessage();
}
$conn = null;
?>
要使用PHP連接到PostgreSQL數據庫,你可以使用pgsql擴展或PDO擴展。
使用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 "連接失敗";
exit;
}
echo "連接成功";
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 "連接成功";
} catch(PDOException $e) {
echo "連接失敗: " . $e->getMessage();
}
$conn = null;
?>
要使用PHP連接到SQLite數據庫,你可以使用SQLite3擴展。
示例代碼:
<?php
$dbname = "your_database.sqlite";
// 創建連接
$conn = new SQLite3($dbname);
// 檢查連接
if (!$conn) {
echo "連接失敗";
} else {
echo "連接成功";
}
$conn->close();
?>
請確保已安裝并啟用了相應的PHP擴展。你可以使用phpenmod
命令啟用擴展,例如:
sudo phpenmod mysqli
sudo phpenmod pdo_mysql
sudo phpenmod pgsql
sudo phpenmod sqlite3
然后重啟Apache或PHP-FPM服務使更改生效:
sudo systemctl restart apache2
# 或
sudo systemctl restart php-fpm