PHP Postgres默认连接

时间:2013-01-08 12:07:01

标签: php database postgresql

PHP中的pg_query和pg_query_params可以在参数列表中指定连接资源的情况下执行,因此PHP将使用pg_connect打开的最后一个连接。

有没有办法检索PHP将使用的默认连接字符串试图找出它来自几个PHP文件的位置?像get_default_dbConnection()?

感谢。

1 个答案:

答案 0 :(得分:2)

这并不意味着存在默认连接字符串,但您不必提供引用连接的参数。查看php: pg_query

上的示例
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

在此示例中有$conn = pg_pconnect("dbname=publisher"),在pg_query的调用中,他们传递了一个长$conn。这是连接参考。现在你也可以使用

$conn = pg_pconnect("dbname=publisher");
$result = pg_query("SELECT author, email FROM authors");

pg_query现在将自动使用上次打开的连接($ conn)

更新

您无法获取资源,PHP使用内部方法php_pgsql_get_default_link来获取默认连接,但不会将其返回到任何位置(请参阅源中的php-5.4.9\ext\pgsql\pgsql.c)。

您可以使用pg_dbnamepg_parameter_status

获取有关数据库名称或用户的信息