2012-12-21 36 views
-1
// Get Id, Streamanbieter und StreamId 
$sql = mysql_query("SELECT `Id`,`Anbieter`,`StreamId`,`Online` FROM `streams`"); 

// Aktualisiere streams 
while($row = mysql_fetch_object($sql)) { 
    $id    = $row->Id; 
    $anbieter  = $row->Anbieter; 
    $streamid  = $row->StreamId; 
    $ison   = $row->Online; 
    $set_online  = "UPDATE streams Set Online = '1' WHERE Id = $id"; 
    $set_offline  = "UPDATE streams Set Online = '0' WHERE Id = $id"; 
    //$set_onlinesince = "UPDATE streams SET Online_since = current_timestamp WHERE Id = $id AND Online_since = '0000-00-00 00:00:00'"; 
    $viewers   = get_viewers($streamid, $anbieter); 
    $update_viewers = "UPDATE streams Set Viewers = $viewers WHERE Id = $id"; 
    $set_zero  = "UPDATE streams Set Viewers = 0 WHERE Id = $id"; 
    $set_datezero = "UPDATE streams Set Online_since = '0000-00-00 00:00:00' WHERE Id = $id"; 
    if(get_online($streamid, $anbieter) == true) { 
     if($ison == 0) { 
      //mysql_query($set_onlinesince); 
     } 
     mysql_query($set_online); 
     mysql_query($update_viewers); 
    } 
    else { 
     mysql_query($set_offline); 
     mysql_query($set_zero); 
     mysql_query($set_datezero); 
    } 
} 

查看註釋行$ set_onlinesince。我有幾乎所有時間都執行mysql_query($set_onlinesince)的問題,所以我制定了IF子句並在Where子句中添加了一條附加語句。它被執行了大部分時間。 之後,我對IF條款做了迴應。當我執行該文件時,它沒有顯示回顯輸出,但會執行mysql_query($set_onlinesince)。然後我試圖去掉這條線,它仍然被執行。當我用查詢取代變量時,它在頁面重新加載後仍然執行。這確實讓我失望。 我在瀏覽器中多次刪除了緩存,並在不同的瀏覽器中嘗試過。沒有效果。 這怎麼發生?Programmin Vodoo?評論代碼被執行

+6

這非常簡單,評論代碼從未執行,計算機沒有做錯什麼,你做了。 –

+2

您確定您正在編輯的文件與您正在執行的文件相同嗎? –

+1

j_freyre,和:即使文件相同,機器是否啓用了PHP操作碼緩存功能?根據我的經驗,操作碼緩存有時會錯過更新。如果是這種情況,請刷新或禁用緩存。 – adhominem

回答

5

在這種情況下,可能會將該字段設置爲ON UPDATE CURRENT_TIMESTAMP,該字段會使用先前的某個查詢自動更新它。

+0

哦謝謝:D 這實際上是問題,我現在開心:P –