If on "accident" your program passes pg_result_status a variable that is NOT a actual pg resource, it will return an empty string.
(This is important to know if you want to make sure a pg resource is "good" before attempting some operation on it).
pg_result_status
(PHP 4 >= 4.2.0, PHP 5)
pg_result_status — クエリ結果のステータスを取得する
説明
pg_result_status() は、結果リソースのステータス あるいは結果に関するコマンド補完タグを返します。
パラメータ
- result
-
pg_query(), pg_query_params() あるいは pg_execute() から返される PostgreSQL の クエリ結果リソース。
- type
-
result の数値ステータスを返す PGSQL_STATUS_LONG、あるいは result のコマンドタグを返す PGSQL_STATUS_STRING のいずれかです。 指定しない場合は PGSQL_STATUS_LONG がデフォルトです。
返り値
PGSQL_STATUS_LONG が指定された場合の返り値は 以下のいずれかです。 PGSQL_EMPTY_QUERY、 PGSQL_COMMAND_OK、PGSQL_TUPLES_OK、PGSQL_COPY_OUT、 PGSQL_COPY_IN、PGSQL_BAD_RESPONSE、PGSQL_NONFATAL_ERROR および PGSQL_FATAL_ERROR 。 それ以外の場合は、PostgreSQL コマンドタグを含む文字列を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 4.3.0 | パラメータ type が追加されました。 |
例
例1 pg_result_status() の例
<?php
// データベースに接続する
$conn = pg_pconnect("dbname=publisher");
// COPY を実行する
$result = pg_query($conn, "COPY authors FROM STDIN;");
// 結果ステータスを得る
$status = pg_result_status($result);
// ステータスの内容を調べる
if ($status == PGSQL_COPY_IN)
echo "Copy began.";
else
echo "Copy failed.";
?>
上の例の出力は以下となります。
Copy began.
pg_result_status
Meej Vaj
08-Jun-2005 06:45
08-Jun-2005 06:45
romix at gmx dot de
16-Oct-2002 06:29
16-Oct-2002 06:29
0 = PGSQL_EMPTY_QUERY
1 = PGSQL_COMMAND_OK
2 = PGSQL_TUPLES_OK
3 = PGSQL_COPY_TO
4 = PGSQL_COPY_FROM
5 = PGSQL_BAD_RESPONSE
6 = PGSQL_NONFATAL_ERROR
7 = PGSQL_FATAL_ERROR
