do whileループ内でデータベースに対してクエリを実行し、結果セットに追加を続ける必要がある問題を解決しようとしています。しかし、そのすべてのクエリを実行し終えたと私は、エラーに既存の結果セットに結果セットを追加する
警告結果セットのPHPを与える処理を開始すると:は、mysql_fetch_array()パラメータ1がリソースであることを期待し、 文字列が
アイデアに与えられましたそれは0,2の制限でクエリを実行し、次に2,2の制限で再度実行し、返される行の数が空になるまで続きます。私は最高の解決策は、カウントを行い、そこから解決することを知っているが、これはデータベースが大きすぎるので、これはオプションではありません。以下は
は、私は現在、あなたが提供することができます任意の助け
$tempResult = "";
$i = 0;
$result = null;
do
{
if (is_resource($tempResult))
{
echo 'Cleared Result <br />';
mysql_free_result($tempResult);
}
echo 'Count: ' . $i . '<br />';
$query = "select * from table_test LIMIT $i, 2";
$tempResult = mysql_query($query) or die ("MySQL Error: " . mysql_error());
echo 'Temp Result: ' . $tempResult .' <br />';
$i = $i + 2;
$result .= $tempResult;
} while (mysql_num_rows($tempResult) > 0);
while ($myrow = mysql_fetch_array($result))
{
echo $myrow['col1'] . ' + ' . $myrow['col2'] .
' + ' . $myrow['col3'] . ' <br />';
}
感謝を持っているコードです。
なぜですか?とにかくすべての行をフェッチしたいのであれば、限界とループを気にするのはなぜですか?そのような面白い質問を投稿するために+1 –
+1! –
データベースが大きすぎてクエリを実行できないため、データベースから取得する行数を分割する必要があります。 – Boardy