人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのPDOで質問です。

全投稿数(2万前後)を取得しようとして
下記を実行した場合メモリーオーバーになってしまいます。

$conn->prepare($sql);
$stmt->execute();
$stmt->rowCount();

メモリーオーバーにならない方法はありませんでしょうか?

●質問者: makocan
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● かずきち。
●67ポイント

仮想メモリのメモリにのっからないならmysqlとかhddに投げるまでです。


2 ● gizmo5
●67ポイント

SQL が明示されていませんが COUNT 関数を使えば良いと思います。

$sql = "SELECT COUNT(*) FROM xxx";
$res = $conn->query($sql);
$count = $res->fetchColumn();

参考:
http://php.net/manual/ja/pdostatement.rowcount.php#example-1009


3 ● kujirahand
●66ポイント

大量のデータを一度に取得しようとするので、エラーになってしまいます。
そこで、SQLに、LIMIT と OFFSET 入れて、少しずつデータを取得して、処理が完了したら、続きを読むようにしましょう。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ