関数・クラス解説

pg_send_query

version:PHP 4 >= 4.2.0, PHP 5, PHP 7 (公式)

非同期クエリを送信する

公式リファレンス

書式

pg_send_query ( resource $connection , string $query ) : bool

説明

pg_send_query() は、connection に非同期クエリを送信します。pg_query() とは異なり、 PostgreSQL へ一度に複数のクエリを送信することができ、 pg_get_result() を用いて結果を一つずつ取得することが可能です。

スクリプトの実行は、クエリを実行中もブロックされません。 接続がビジーである(すなわち、クエリが実行中である)ことを調べるには、 pg_connection_busy() を使用してください。 クエリは、pg_cancel_query() をコールすることによりキャンセルすることが可能です。

ユーザーは複数のクエリを一度に送信することができますが、 複数のクエリをビジー状態の接続に送信することはできません。 クエリがビジー状態の接続に送信された場合、 最後のクエリが終了するまで待ち、全ての結果は破棄されます。

パラメータ

connection
PostgreSQL データベース接続リソース。
query
実行するひとつまたは複数の SQL 文。 クエリ内のデータは 適切にエスケープ する必要があります。

返値

成功した場合に TRUE を、失敗した場合に FALSE を返します。 クエリの結果を利用するには pg_get_result() を使用します。

サンプル

例1 pg_send_query() の例

  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");   if (!pg_connection_busy($dbconn)) {       pg_send_query($dbconn, "select * from authors; select count(*) from authors;");   }      $res1 = pg_get_result($dbconn);   echo "First call to pg_get_result(): $res1\n";   $rows1 = pg_num_rows($res1);   echo "$res1 has $rows1 records\n\n";      $res2 = pg_get_result($dbconn);   echo "Second call to pg_get_result(): $res2\n";   $rows2 = pg_num_rows($res2);   echo "$res2 has $rows2 records\n";

上の例の出力は以下となります。

First call to pg_get_result(): Resource id #3 Resource id #3 has 3 records Second call to pg_get_result(): Resource id #4 Resource id #4 has 1 records

参考

  • pg_query() - クエリを実行する
  • pg_cancel_query() - 非同期クエリを取り消す
  • pg_get_result() - 非同期クエリの結果を取得する
  • pg_connection_busy() - 接続がビジーかどうか調べる
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール