📜  php 连接到 postgresql - PHP (1)

📅  最后修改于: 2023-12-03 14:45:26.517000             🧑  作者: Mango

PHP 连接到 PostgreSQL

在 PHP 中,可以使用 pg_connect() 函数来连接到 PostgreSQL 数据库。该函数将返回一个连接资源,可以用来进行后续的数据库操作。

准备工作

在连接之前,我们需要确保已经安装了相应的 PostgreSQL 扩展。

可以通过以下命令来检查 PHP 是否已经安装了 pgsql 扩展:

php -m | grep pgsql

如果没有任何输出,说明未安装该扩展。可以使用以下命令来安装:

sudo apt-get install php-pgsql
连接到数据库

连接到 PostgreSQL 数据库的代码如下所示:

<?php
$host = "localhost";
$port = "5432";
$dbname = "my_database";
$user = "my_username";
$password = "my_password";

$conn = pg_connect("host=$host port=$port dbname=$dbname user=$user password=$password");

if (!$conn) {
  echo "数据库连接失败:";
  exit;
}
echo "数据库连接成功!";
pg_close($conn);
?>

以上代码中,$host$port$dbname$user$password 分别是连接 PostgreSQL 数据库所需的主机名、端口号、数据库名、用户名和密码。在连接成功后,会输出 数据库连接成功!。最后使用 pg_close() 函数关闭连接资源。

执行查询

连接成功后,我们可以通过 pg_query() 函数来执行查询语句。以下是一个示例:

<?php
// ...
$sql = "SELECT name, age FROM users WHERE gender='M'";
$result = pg_query($conn, $sql);

if (!$result) {
  echo "查询失败:";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo "姓名:" . $row["name"] . ",年龄:" . $row["age"] . "<br>";
}
pg_free_result($result);

pg_close($conn);
?>

以上代码中,首先使用 pg_query() 函数执行 SQL 查询,查询的内容为所有男性用户的姓名和年龄。接着使用 pg_fetch_assoc() 函数获取查询结果中的行,然后输出该行中的姓名和年龄。最后使用 pg_free_result() 函数释放查询结果所占用的资源。

结论

通过以上介绍,我们可以看到,连接到 PostgreSQL 数据库非常简单。可以使用 PHP 中提供的 pg_connect() 函数实现连接,并用 pg_query() 函数来执行查询。虽然该扩展尚未内置在 PHP 中,但我们可以通过 apt-get 命令快速安装。