1

だから私は非常に奇妙な問題を抱えており、それについてどう考えるべきかよくわかりません...

テーブルで選択を行う標準のデータベースクエリがあります。リソース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: わかりました。メモリ制限が低かったことが判明したため、不正な量のメモリを割り当てようとしていました! それで私たちはそれを上げました、そして今それはうまくいきます!また、他のコードによって条件付きでオフにされていた場所でエラー報告がありました...それがエラーが表示されなかった理由です! ええと...とにかく、メリークリスマスとすべてのジャズに反応してくれた人たちに、刺し傷を付けてくれてありがとう...

4

0 に答える 0