当前位置: 首页> 最新文章列表> 如何使用 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 注入问题。