- ベストアンサー
MYSQLのレコードの数を表示したいのですが。
PHPとMySQLでPHPからSQL文を送って、PHPにMySQLにレコード数を表示したいのですが、Resource id #3 といったようになってしまいます。 一瞬表示されたと思っていたのですが、実際のレコードの数と違ったのでやはり失敗でした。 どのような方法で表示すれば上手く表示されるでしょうか。初歩的なことで申し訳ありませんが、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どんなコードでそのような症状になるのでしょうか 質問にあげている症状だけでは判断できませんので経験則で回答させていただきます。 レコード数を取得するには 対象となるレコードを全て取得して PHPのcount() 関数を使えば取得できます しかし、レコード数があまりにも多い場合は動作が遅くなりますのでレコード数が少ないことが分かっている場合には有効な方法です 対象となるレコード数が数千や数万以上などの多い場合は SQL文で SELECT COUNT(*) FROM テーブル名 WHERE 抽出条件 のようにすればCOUNT数を取得できます しかし、実際のレコードは取得できませんし、数万のレコードを全て使う場面ってあまりないかと思います。 ですから SELECT COUNT(*) FROM テーブル名 WHERE 抽出条件 これでCOUNT数を取得する SELECT カラム1,カラム2,カラム3・・・ FROM テーブル名 WHERE 抽出条件 LIMIT 0,30 などのように必要なレコードを取得する というようにCOUNT用のSQLと実際にレコードを取得するSQLと 2回クエリーしなくてはなりませんが、結果として早くなります
お礼
なるほど。参考書をどおりやってもできなかったもので・・・。 教えてもらったとおりにやってみます!ありがとうございました☆