admin【Codeigniter3】データの件数を取得するために「num_rows()」は使っていけないツイートシェアはてブGoogle+PocketPHPのフレームワークのCodeigniterでツールを開発して思ったことです。負荷テストをするために、大量にデータをInsertして動作確認をしていたところ、SQLに怪しいところがありました。table_name;」をしてくれていると思っていました。ないらしく実際は下記のsqlが発行されています。table_name;つまりcountの件数を取得しているのではなくデータをいったん取得してPHP内で件数だけ返しているようです。当たり前ですが下記のエラーが発生します。table_name;」をしているわけではないということです。Codeigniter3のDB関連の記事を読んでると、勘違いしている人多い気がします。データ量が少なければさほど影響はないかもしれませんが、10万単位でデータを操作するとかなり重たいし、メモリ不足エラーも発生します。解決方法データベースから件数を取得したい場合は、下記のように対処することができます。count')->get("table_name")->row();//件数var_dump($result->count);SELECT部分でAS句を使ってカラム名を指定しとかないと、後でデータ取得ができません。デバッグのSQLログを確認しようCodeigniter3にはデバッグモードにするとSQLログを画面上に表示してくれるのでそこで確認しましょう。スポンサーリンク最後に公式サイトにもちゃんと書かれていますね。num_rows()クエリで返された行数を取得します。クエリの結果オブジェクトを代入した変数です:公式サイトを見ずにメソッド名だけで判断するのは危険て言うことを今回学習しました。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。関連記事は見つかりませんでした。