0
データベースからデータを取得してJSONファイルに格納しようとしています。 スクリプトは以下の罰金に動作しますが、大規模のDataTableが動作しません: 致命的なエラー:使い果たさ104857600バイトの許可メモリサイズデータを配列に格納する際にメモリサイズが発生する
# SELECT Data from Table
$query = "SELECT `Row1`,
`Row2`,
`Row3`
FROM `Table`";
$result = $mysqli->query($query);
# Declare array
$data = array();
# Put Data into array
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
# Put Data into JSON
$JSONData = json_encode($data, JSON_PRETTY_PRINT);
しかし、大きなテーブルはを動作しません。
セグメント「データを配列に格納」のエラーが発生します(上記のコードを参照)。
JSONにデータを取得する他の方法はありますか?マーク・ベイカーの応答にさらに
* php.ini *ファイルでPHP用に許可されているメモリサイズを増やします。 – tilz0R
[streaming json encoder](https://github.com/violet-php/streaming-json-encoder)....のようなものを使用してください。ただし、サーバーでPRETTY_PRINTをフォーマットしようとしないでください。 –
問題はありませんJSONにデータを取得する方法として、データが多すぎます。あなたは本当にすべてのデータを同時にメモリに保存する必要がありますか? –