だから私は非常に奇妙な問題を抱えており、それについてどう考えるべきかよくわかりません...
テーブルで選択を行う標準のデータベースクエリがあります。リソースnum_rows = 101を返し、行42まで行をフェッチします。その時点で、すべてのスクリプト実行を停止し、エラーもタイムアウトも発生しません(42行を取得するのに1秒もかかりません)... Iリンクを提供することはできませんが、問題のコードは次のとおりです...
$select2 = "SELECT * FROM `$dbname`.`$file" . "_settings` WHERE `weight` <> 0 ORDER BY `count` ASC";
$result = mysql_query($select2);
$lpcnt = 0;
$numrows = mysql_num_rows($result);
while ($display = mysql_fetch_array($result, MYSQL_ASSOC)){
/* This will print out 42 times */
echo '<pre>In The LOOP, row('.$lpcnt.'):<br>NumRows: '.$numrows.'<br>';
print_r($display);
echo '</pre><br/>';
$domRows[] = $display;
$aTotal[] = $display['count'];
$aTotWeight[] = $display['weight'];
//debug vars
$d['url'] = $display['url'];
$d['total'] = $total;
$d['count'] = $display['count'];
$d['weight'] = $display['weight'];
$dbug['domRows'][] = $d;
$lpcnt++;
}
/* Never Reaches this */
echo '<pre>';die(print_r('Loop Finished'));
結果ループの途中で何が失敗を引き起こしているのか途方に暮れています...
また..知っています、知っています... myql_ は減価償却されていますが、それは私が取り組まなければならないものです!
誰でも光を当てることができるので、事前に感謝します...これはサイトを本当に傷つけています!
編集:また、これは常に壊れるわけではありません。これまでのところ、結果の数に何らかの形で関連しているようです...たとえば、39 行の結果セットを実行すると、それらすべてが処理されます。 ..そして、42行で一貫して失敗しています... 100以上のレコードを持つテーブルで
EDIT FINAL: わかりました。メモリ制限が低かったことが判明したため、不正な量のメモリを割り当てようとしていました! それで私たちはそれを上げました、そして今それはうまくいきます!また、他のコードによって条件付きでオフにされていた場所でエラー報告がありました...それがエラーが表示されなかった理由です! ええと...とにかく、メリークリスマスとすべてのジャズに反応してくれた人たちに、刺し傷を付けてくれてありがとう...