pg_affected_rows

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

pg_affected_rows変更されたレコード(タプル)の数を返す

説明

pg_affected_rows(PgSql\Result $result): int

pg_affected_rows() は、INSERT, UPDATE, DELETE クエリにより変更されたタプル(インスタンス/レコード/行)の数を 返します。

PostgreSQL 9.0 以降は、SELECT を実行したときには選択された行の数を返すようになりました。 それ以前のバージョンでは、SELECT が返す結果は 0 でした。

注意:

この関数は、以前は pg_cmdtuples() と呼ばれていました。

パラメータ

result

pg_query()pg_query_params() や (様々な関数がありますが、特に) pg_execute() が返した PgSql\Result クラスのインスタンス。

戻り値

クエリによって変更された行の数を返します。もし変更されたタプルがない場合は 0 を返します。

変更履歴

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

例1 pg_affected_rows() の例

<?php
$result 
pg_query($conn"INSERT INTO authors VALUES ('オーウェル', 2002, '動物農場')");

$cmdtuples pg_affected_rows($result);

echo 
$cmdtuples " タプルが変更されました。\n";
?>

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

1 タプルが変更されました。

参考

  • pg_query() - クエリを実行する
  • pg_query_params() - SQL コマンドとパラメータを分割してサーバーへ送信し、その結果を待つ
  • pg_execute() - 指定したパラメータを用いてプリペアドステートメントを実行するリクエストを 送信し、その結果を待つ
  • pg_num_rows() - 行数を返す

関連キーワード:  変更, レコード, rows, , query, affected, 関数, インスタンス, パラメータ, 実行