Database(DB:データベース)

【PostgreSQL+PHP】pg_num_rows、pg_affected_rows、pg_affected_rowsの違い

最近、データベースとしてPostgreSQLを利用する機会が何度かあったのですが、
その際に「レコード数」や「フィールド数」を取得する為に利用したPHPの関数をいくつかまとめておきます。

【PHP】pg_num_rowsでレコード数を取得

検索結果のリソースから行数を返してくれます。
ざっくりと言うと、主にSELECTでデータベース内のデータを検索した際に返ってくるレコードの数を取得するために利用します。

使い方の例:

<?php
$res = pg_query($con, "SELECT * FROM SAMPLE_TABLE WHERE id < 100");
echo "該当レコード数は " . pg_num_rows($res) . "件 です。\n";
?>

 

pg_affected_rowsで変更されたレコード数を取得

INSERT(挿入)、UPDATE(更新)、DELETE(削除)などにより変更されたレコードの数を返してくれます。

<?php
$res = pg_query($con, "DELETE FROM SAMPLE_TABLE WHERE id < 100");
echo pg_affected_rows($res) . "件のレコードが削除されました。\n";
?>

<?php
$res = pg_query($con, "UPDATE SAMPLE_TABLE SET pref_cd = 13 WHERE pref = '東京'");
echo pg_affected_rows($res) . "件のレコードが更新されました。\n";
?>

 

pg_num_fieldsでフィールド数(カラムの数)を取得

検索結果のリソースからフィールド数(カラムの数)を返してくれます。

<?php
$res = pg_query($con, "SELECT id,name,tel,email,address FROM SAMPLE_TABLE");
echo "フィールド数は " . pg_num_fields($res) . "件 です。\n";
?>

↓結果
「フィールド数は 5件 です。」

 

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

アーカイブ

PAGE TOP