當前位置: 首頁> 最新文章列表> 如何使用PHP 的connect() 函數連接PostgreSQL 數據庫並進行基本操作?

如何使用PHP 的connect() 函數連接PostgreSQL 數據庫並進行基本操作?

M66 2025-06-23

在PHP 中連接PostgreSQL 數據庫通常使用pg_connect()函數(而不是connect()函數本身)。本文將通過實際示例介紹如何使用PHP 連接PostgreSQL 數據庫,並進行基本的增刪改查操作。

一、連接數據庫

使用pg_connect()函數可以連接到PostgreSQL 數據庫。以下是一個基礎示例:

<code> <?php // 數據庫連接參數$conn_string = "host=m66.net port=5432 dbname=testdb user=testuser password=secret";

// 建立連接
$dbconn = pg_connect($conn_string);

if (!$dbconn) {
die("連接數據庫失敗!");
}

echo "成功連接到PostgreSQL 數據庫";
?>
</code>

二、創建數據表

連接成功後,我們可以創建一個簡單的數據表,比如用戶信息表:

<code> <?php $query = "CREATE TABLE IF NOT EXISTS users ( id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) )";

$result = pg_query($dbconn, $query);

if ($result) {
echo "數據表創建成功";
} else {
echo "創建數據表失敗:" . pg_last_error($dbconn);
}
?>
</code>

三、插入數據

接下來我們可以向數據表中插入數據:

<code> <?php $name = '張三'; $email = 'zhangsan@m66.net';

$query = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

$result = pg_query($dbconn, $query);

if ($result) {
echo "數據插入成功";
} else {
echo "數據插入失敗:" . pg_last_error($dbconn);
}
?>
</code>

四、查詢數據

可以查詢數據並輸出結果:

<code> <?php $query = "SELECT * FROM users"; $result = pg_query($dbconn, $query);

if ($result) {
while ($row = pg_fetch_assoc($result)) {
echo "ID: " . $row['id'] . ",姓名: " . $row['name'] . ",郵箱: " . $row['email'] . "<br>";
}
} else {
echo "查詢失敗:" . pg_last_error($dbconn);
}
?>
</code>

五、更新數據

下面是一個更新用戶郵箱的示例:

<code> <?php $query = "UPDATE users SET email='newemail@m66.net' WHERE name='張三'"; $result = pg_query($dbconn, $query);

if ($result) {
echo "更新成功";
} else {
echo "更新失敗:" . pg_last_error($dbconn);
}
?>
</code>

六、刪除數據

刪除指定用戶記錄的代碼如下:

<code> <?php $query = "DELETE FROM users WHERE name='張三'"; $result = pg_query($dbconn, $query);

if ($result) {
echo "刪除成功";
} else {
echo "刪除失敗:" . pg_last_error($dbconn);
}
?>
</code>

七、關閉連接

完成操作後應關閉數據庫連接:

<code> <?php pg_close($dbconn); ?> </code>

總結

本文介紹瞭如何使用PHP 通過pg_connect()函數連接PostgreSQL 數據庫,並完成基本的數據表創建、數據插入、查詢、更新和刪除操作。適當地封裝這些操作可以提升代碼的複用性與可維護性。在實際項目中,建議結合預處理語句以防止SQL 注入問題。