PHP 中的 pg_query 和 pg_query_params 可以在参数列表中不指定连接资源的情况下执行,因此 PHP 将使用 pg_connect 打开的最后一个连接。
有没有办法检索 PHP 将使用的默认连接字符串,而不是试图找出它来自几个 PHP 文件的位置?get_default_dbConnection() 之类的东西?
谢谢。
PHP 中的 pg_query 和 pg_query_params 可以在参数列表中不指定连接资源的情况下执行,因此 PHP 将使用 pg_connect 打开的最后一个连接。
有没有办法检索 PHP 将使用的默认连接字符串,而不是试图找出它来自几个 PHP 文件的位置?get_default_dbConnection() 之类的东西?
谢谢。
这并不意味着存在默认连接字符串,而是您不必提供引用该连接的参数。查看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
有一个 long $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_dbname或pg_parameter_status获取有关数据库名称或用户的信息