Web aym.pekori.to

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5)

pg_cancel_query --  非同期クエリを取り消す

説明

bool pg_cancel_query ( resource connection )

pg_cancel_query() は、 pg_send_query()pg_send_query_params() あるいは pg_send_execute() により送信された非同期クエリを キャンセルします。pg_query() により実行されたクエリを キャンセルすることはできません。

パラメータ

connection

PostgreSQL データベース接続リソース。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例 1. pg_cancel_query() の例

<?php
  $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";
  
  
// 実行中のクエリをキャンセルする。もしまだ実行中なら、2 番目のクエリが
  // 対象となるだろう。
  
pg_cancel_query($dbconn);
?>

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

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

参考

pg_send_query()
pg_connection_busy()