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. ホームページ(homepage)
  3. システムアップデート
  4. エックスサーバー(XSERVER)
  5. エックスサーバー(XSERVER)
  6. エックスサーバー(XSERVER)
  7. WEBサイト構築
  8. スパム(SPAM)対策
  9. サイト公開
  10. ネームサーバーの登録

Twitter

ダッチ@職業ブロガー兼プログラマー
@gatsu0000

  • ブログのプロフィールなんかで使用するキャラクター用のイラストが完成しました。プロの方に頼むとめっちゃ男前に作ってくれたから、見栄はってるみたいではずかしいけど、取りあえずこれで運用開始です。 あとは、Twitterのアイコンも現在作成して貰ってる最中やから、来週中には完成しそう!
    about 1時間 ago via Twitter Web App

アーカイブ

PAGE TOP