Programmin Vodoo吗?执行注释代码


Programmin Vodoo? comment code is executed

// 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)。然后我试着去掉这行注释,它仍然被执行。当我用查询对变量进行注释时,它在页面重新加载后仍在执行。这让我很害怕。我在浏览器中删除了几次缓存,也在不同的浏览器中尝试过。没有效果。怎么会这样?

在这种情况下,字段可能被设置为ON UPDATE CURRENT_TIMESTAMP,这将使用前面的查询之一自动更新它。