pg_cancel_query

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

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

説明

pg_cancel_query(PgSql\Connection $connection): bool

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

パラメータ

connection

PgSql\Connection クラスのインスタンス。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.1.0 connection は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。

例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

参考

関連キーワード:  非同期, query, cancel, connection, send, PgSql, Connection, 送信, Resource, 期待