2013-06-13 58 views
1

停止我有一個小的代碼片段在這裏:PHP - MySQL的腳本自動

<?php 
    //logic to connect to database and rest of the settings. 
    // ...................// 
    $res = mysql_query("select * from account"); //returns 1200 records 
    while($row = mysql_fetch_array($res)){ 
     //some of the logical operations performed here. 
     if(condition){ //condition is not a variable. its result to be evaluated 
      updateDatabase($data1, $data2); 
     }else{ 
      updateDatabase($data1, 0); 
     } 
    } 
?> 
<?php 
    function updateDatabase($data1, $data2){ 
     //some logical operations 
     //updating database. 
     //for testing an echo statement whether success/fail 
    } 
?> 

由於此代碼檢索上千條記錄,使操作上執行,數據庫必須在每種情況下更新。但是如果我運行這個php文件,那麼它在達到大約1000條記錄後停止執行。

我無法知道它爲什麼會這樣做,因爲我是初學者到php
有人可以幫我解決這個問題嗎?

+0

PHP錯誤日誌沒有錯誤?從'while'循環中刪除所有內容。添加一個計數器。現在,迭代了多少次? – RandomSeed

+0

我也這樣做過。但櫃檯停了下來,沒有一個固定的數字。有時它停在900,1050,990 ... –

+0

錯誤日誌中必須有東西。請張貼相關摘錄。 – RandomSeed

回答

2

嘗試在您的php.ini文件中增加max_execution_time。根據您的php配置,可能腳本運行​​時間過長。

+0

當前值是30.我應該怎麼做? –

+1

這意味着如果你的服務器在這之前還沒有完成,那麼你的服務器調用的腳本將在30秒後停止。增加到60並嘗試。如果仍然停止並且未完成,您可以進一步增加。如果它在開發機器上,可以增加到300或更多,如果你喜歡,沒有問題 – quidage

+0

謝謝你的答覆。現在它可以工作。有沒有更好的解決方案來做這麼長的任務,而不是製作一個'php'文件並運行它? –