使用しているデータベースとデータベース構成によって異なります。
MySQLの場合、バッファリングされたクエリを使用していることを確認する必要があります。 PDOでは、次のように設定します。
$myPdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
これは、すべてのデータがクライアントに送信されることを意味します(PHPですべてをフェッチするのと同じではありません)。
もう1つの(おそらくもっと悪い)代替手段は、結果セットが開いたまま実行されているクエリを検出するたびに、新しいデータベース接続を開くことです。
通常のmysql_query()
バッファリングされたクエリを使用するため、複数の結果セットで機能します。