pg_connection_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_connection_status 获取连接状态

说明

pg_connection_status(PgSql\Connection $connection): int

pg_connection_status() 返回指定 connection 的状态。

参数

connection

一个 PgSql\Connection 实例。

变更日志

版本 说明
8.1.0 connection 参数现在期望一个 PgSql\Connection 实例;之前,期望一个 资源

范例

范例 #1 pg_connection_status() 例子

<?php
$dbconn
= pg_connect("dbname=publisher") or die("Could not connect");
$stat = pg_connection_status($dbconn);
if (
$stat === PGSQL_CONNECTION_OK) {
echo
'Connection status ok';
} else {
echo
'Connection status bad';
}
?>

参见

添加注释

用户贡献的注释 4 条注释

Mathieu De Zutter
18 年前
小心比较运算符还不够

<?php
if (pg_connection_status($link)===PGSQL_CONNECTION_BAD)
reconnect($link);
?>

当 $link 为空时,重新连接不会被触发。

手册是错误的,有三个返回值:PGSQL_CONNECTION_OK、PGSQL_CONNECTION_BAD、空
zytox at hotmail dot com
19 年前
如果连接变量为 NULL,则此函数在 PHP 5.0.2 中返回 0。尚未找出连接变量的任何更多不稳定的值,但请小心。
david dot tulloh at infaze dot com dot au
19 年前
我认为 zytox 是错误的,至少在 PHP 5.0.4 中是错误的。
它返回空,但您必须小心使用比较运算符。

例如
<?php
unset($null);
if (
pg_connection_status($null)===PGSQL_CONNECTION_OK)
echo
'this is not called';
if (
pg_connection_status($null)==PGSQL_CONNECTION_OK)
echo
'this is called because NULL==0 is true';
?>
匿名
6 年前
维基页面目前没有反映这一点,但如果您将 PGSQL_CONNECT_ASYNC 传递给 pg_connect,创建连接不会阻塞并会通过这些常量表示的额外状态进行转换。

PGSQL_CONNECTION_AUTH_OK
PGSQL_CONNECTION_AWAITING_RESPONSE
PGSQL_CONNECTION_MADE
PGSQL_CONNECTION_SETENV
PGSQL_CONNECTION_SSL_STARTUP
PGSQL_CONNECTION_STARTED
To Top