单行注释阻止函数运行,多行注释不会引起问题,为什么?

时间:2013-08-17 12:36:09

标签: php comments

一旦我尝试添加单行注释(例如//注释),它就会阻止注释后面的任何函数运行。

昨天,在同一台服务器上使用相同的代码,这不是问题,只要删除注释,代码就会完美运行。

如果我使用多行注释(例如/ * comment * /),代码也会完美运行。

我想问的是,是否有人知道为什么会这样,以及是否有什么可以阻止单行注释影响我的代码?

是否有任何影响此的设置?

之前有没有人遇到过这个问题?

示例:

<?php
    session_start();
    require_once('includes.php');
    page_header('Task List');
    page_navigation('tasklist.php', $dbh);
    echo 'Success -1';
    /* Comment */
    $stmt = $dbh->prepare("SELECT * FROM task WHERE user_id = ? ORDER BY priority           ASC");
    echo 'Success 0';
    // If the user is admin use the chosen client_id
    if($_SESSION['user']['user_id'] === '1'){
        $stmt->execute(array($_SESSION['client_id']));
        echo 'Success 1';
    }else{
        // Otherwise use the user's user_id
        $stmt->execute(array($_SESSION['user']['user_id']));
        echo 'Success 2';
    }?>

成功-1和成功0都被回显,但是单行//注释之后的任何内容都没有运行。如果我取消评论,它就会运行,而成功1也会得到回应。

2 个答案:

答案 0 :(得分:0)

//会对整行进行评论,以便在该行中添加的任何内容都会被评论,但/**/只会考虑/*和{{1}下的内容即使您在*/之后添加了任何内容,也不会被视为评论。

请参阅此LINK

答案 1 :(得分:0)

我不是php程序员,但是在十六进制编辑器中检查你的换行编码,可能是你的翻译接受\r\n换行符,但你的脚本只有\n或类似的东西。