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

Twitterはこちら >>

関連記事

最近の記事

  1. レンタルサーバ:おすすめの共用サーバ
  2. アフィリエイト
  3. VPSサーバー
  4. ブログのネタ探し
  5. プログラミング
  6. SSLとは
  7. 常時SSL通信設定後にやっておくべきこと
  8. 常時SSL通信設定方法
  9. htaccessとは
  10. WordPress

Twitter

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

  • リモートやってみて分かったこと。 会社って意外と仕事に集中できていなかった。 当たり前か。会社って、別に落ち着ける空間じゃないですからね。
    about 4日 ago via Twitter Web App

アーカイブ

PAGE TOP