PDOで行数(レコード数)をカウントする方法(MySQL・PHP)




PDOでSELECT文の結果行数を把握する方法です。
MySQLでPDOを使わない場合、mysql_num_rows()で簡単に把握できたのですが、PDOで似たような関数がありません。(泣)

PDOではrowCount() という関数があるのですが、
マニュアル等では、正しい行数を返すかはあやしいと記載されています。

PDOStatement::rowCount() は 相当する PDOStatement オブジェクトによって実行された 直近の DELETE, INSERT, UPDATE 文によって作用した行数を返します。SELECTはどうやら、結果が怪しいらしいのです・・・

クエリーのバッファーを使うことによって、結果を取得することができるようです。
(PHPとMySQLのバージョンにも左右されるので、下記ソースで試してみましょう。)

なんで、こんな一番使うようなものが、用意されていないんだろう・・・。
調べるのに半日を費やした。




人気記事一覧


関連記事一覧

This entry was posted in PDO and tagged , , , , , , , , , , , , . Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">