我目前收到此错误:
SyntaxError: expected expression, got '}' - line 14, col 1
响应此代码块:
<?php
include_once("base.php");
if(empty($_GET)) {
$sql = "SELECT * FROM segth";
$q = mysqli_query($link, $sql);
if ($r = mysqli_fetch_array($q)) {
echo "<table border='1'><tr><th>" . $r [1] . "</th></tr>
<tr><td>$" . $r[2] . "</td></tr><tr><td><input type='text' id='u0name' placeholder='Adjust " . $r [1] . "s Cash' onKeyPress='preupd(event, 0)' /></td></tr></table>";
}
while ($r = mysqli_fetch_array($q)) {
echo "<table class='norm' border='1'><tr><th>" . $r[1] . "</th></tr><tr><td>$" . $r[2] . "</td></tr><tr><td><input type='text' id='u0name' placeholder='Adjust " . $r [1] . "s Cash' onKeyPress='preupd(event, " . $r [1] . ")' /></td></tr></table>";
}
} else {
echo "<h1 align='center'>New Game</h1>";
echo "<table border='1'>
<tr><th>Names</th></tr>";
for($i=0;$i<8;$i++) {
echo "<tr><td><input id='u" . $i . "name' placeholder='Player " . ($i+1) . "s Name' /></td></tr>";
}
echo "<tr><td><button value='Start' onClick='strt()'>Start</button></table>";
}
?>
我尝试从有问题的位置周围删除几个代码括号,但问题似乎是在第14行出现,这与else
语句在下面的行相同。我目前正在使用Notepad ++编辑此文件,因此我可以通过突出显示任何{
或}
来查看eah代码块的开始和结束位置,并且它将突出显示相应的开头或结尾,并且这里没有孤儿。我只是不明白为什么我会收到这个错误。
如果$ _GET数组中有任何内容导致问题,则此错误导致我的脚本不会出现。
答案 0 :(得分:2)
看来你在字符串13中有空格有问题。
echo "<table class='norm' border='1'><tr><th>" . $r[1] . "</th></tr><tr><td>$" . $r[2] . "</td></tr><tr><td><input type='text' id='u0name' placeholder='Adjust " . $r[1] . "s Cash' onKeyPress='preupd(event, " . $r[1] . ")' /></td></tr></table>";
我处理了你的代码并检测了第三和第四位的$ r和[1]之间的空格。在其他一些地方也有空间。
答案 1 :(得分:0)
您的代码似乎有while
,else
。 else
不适用于while
。如果这是一个错误,那么尝试移除while循环上方的右括号。如果这不符合您的预期,那么您可能需要对代码进行一些重构。