我正在编写一个使用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!";
}
答案 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>";