• ベストアンサー

MYSQL+PDOでのデータ件数取得について

こんにちは。 MYSQL+PDOで、rowCount以外でデータ件数を取得する方法を調べているのですが、なかなかヒットしません。 ご存知の方いらっしゃいましたらご教示下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

「データ件数」ってどういったSQL文での件数ですか? phpマニュアルによれば、 「PDOStatement::rowCount() は DELETE, INSERT, UPDATE 文によって作用した行数を返します」 とあり、select文では、fetchAll() などで、全行取得してみないと、実際に返された行数を知る方法は有りませんけど? それとも、本番クエリの前に select count(*) from /* 行数を得たい本番 select sql文 のtable 指定やwhere文 */ を実行してやれば、先に行数を得られます。 それとも、MySQLのversion が低いため、insert文などの時も、rowCount()の返値が得られないということでしょうか? うろ覚えでは、mySQL4.0 では、rowCount()の返値は得られていたはずだけど。

anbsd
質問者

お礼

説明不足で申し訳ありません。 >select文では、fetchAll() などで、全行取得してみないと、実際に返された行数を知る方法は有りませんけど? 正にこのSELECT文での取得行数をカウントしたいと考えています。 PHPマニュアルのPDOの項(http://php.net/manual/ja/pdostatement.rowcount.php)では 「この振る舞いは全てのデータベースで保証されていません。」 と、非推奨風に書かれていたので、rowCount以外で別途行数を取得する方法は無いものかと探しておりました。 select count(*) from テーブル名 WHERE 条件 で行数を得る事が出来るのですね。 カウント数と同時に、SELECT結果も得る方法は御座いませんでしょうか?

anbsd
質問者

補足

すみません。 マニュアルを再度よく読み返した所、解決しました。 色々と要領を得ず、申し訳ありませんでした。 お返事ありがとうございました。

関連するQ&A