小心使用比較運算子是不夠的
<?php
if (pg_connection_status($link)===PGSQL_CONNECTION_BAD)
reconnect($link);
?>
當 $link 為 null 時,不會觸發重新連線。
手冊內容有誤,實際上有三個回傳值:PGSQL_CONNECTION_OK、PGSQL_CONNECTION_BAD 和 null
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_connection_status — 取得連線狀態
pg_connection_status() 會回傳指定 connection
的狀態。
版本 | 說明 |
---|---|
8.1.0 | connection 參數現在需要一個 PgSql\Connection 實例;先前需要的是一個 資源。 |
範例 #1 pg_connection_status() 範例
<?php
$dbconn = pg_connect("dbname=publisher") or die("無法連線");
$stat = pg_connection_status($dbconn);
if ($stat === PGSQL_CONNECTION_OK) {
echo '連線狀態良好';
} else {
echo '連線狀態不良';
}
?>
小心使用比較運算子是不夠的
<?php
if (pg_connection_status($link)===PGSQL_CONNECTION_BAD)
reconnect($link);
?>
當 $link 為 null 時,不會觸發重新連線。
手冊內容有誤,實際上有三個回傳值:PGSQL_CONNECTION_OK、PGSQL_CONNECTION_BAD 和 null
我認為 zytox 的說法不正確,至少在 PHP 5.0.4 中是如此。
它會回傳 null,但您必須小心使用比較運算子。
例如
<?php
unset($null);
if (pg_connection_status($null)===PGSQL_CONNECTION_OK)
echo '這不會被呼叫';
if (pg_connection_status($null)==PGSQL_CONNECTION_OK)
echo '這會被呼叫,因為 NULL==0 為真';
?>