如何修复此“T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING”错误?

时间:2010-12-29 21:57:42

标签: php debugging syntax

我正在编写一个使用MySQL作为数据库的简单php注册页面。我很陌生,我遇到了这个错误:

  

解析错误:语法错误,意外   T_ENCAPSED_AND_WHITESPACE,期待   T_STRING或T_VARIABLE或T_NUM_STRING   在C:\ xampp \ htdocs \ w4wregister.php上   第34行

我已经浏览了一些我添加的代码,这些代码在过去的一小时内导致了该错误,并且看不出它有什么问题。下面我有我添加的代码。我相信我能够将其缩小到while语句,但我给了其他代码以供上下文使用。

if($r) {

echo "<h1>Thanks for registering!<h1><br/><h2>Current Users:</h2>";

$q2 = "SELECT username AS users FROM users ORDER BY registration_date";

$r2 = @mysqli_query ($dbc, $q2); //gets all users

if ($r2) {

echo '<table cellspacing="3" cellpadding="3" width="25%"><tr><td>Username</td></tr>';


while ($row = mysqli_fetch_array($r2, MYSQLI_ASSOC)) {

echo "<tr><td> $row['users'] </td></tr>";

}

echo "</table>";

} else {

echo "Hey, that didn't work!";
}

4 个答案:

答案 0 :(得分:5)

变化:

echo "<tr><td> $row['users'] </td></tr>";

要:

echo "<tr><td> {$row['users']} </td></tr>";

另一种选择是:

echo "<tr><td> ".$row['users']." </td></tr>";

甚至:

echo "<tr><td> ", $row['users'], " </td></tr>";

有关如何使用变量插值的更多示例,请参阅echo

答案 1 :(得分:1)

更改

echo "<tr><td> $row['users'] </td></tr>";

echo "<tr><td> {$row['users']} </td></tr>";

答案 2 :(得分:1)

if($r) 
{

    echo "<h1>Thanks for registering!<h1><br/><h2>Current Users:</h2>";

    $q2 = "SELECT username AS users FROM users ORDER BY registration_date";

    $r2 = @mysqli_query ($dbc, $q2); //gets all users

    if ($r2) 
    {

        echo '<table cellspacing="3" cellpadding="3" width="25%"><tr><td>Username</td></tr>';


        while ($row = mysqli_fetch_array($r2, MYSQLI_ASSOC)) {

            echo "<tr><td>" . $row['users'] .  "</td></tr>";

        }


        echo "</table>";
    } //this was not there

} 
else 
{

    echo "Hey, that didn't work!";
}

答案 3 :(得分:0)

尝试

echo "<tr><td> ".$row['users']." </td></tr>";

而不是

echo "<tr><td> $row['users'] </td></tr>";