2016-12-27 73 views
-1

我目前收到此错误:PHP关闭代码块错误

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

不能准确地告诉你,因为你的格式有点偏离,但它看起来像你试图做一个“while”与其他。这不是一个有效的PHP控制结构。我也建议寻找一些能够指出这样的语法错误的东西。 – patricksweeney

+2

[PHP Parse/Syntax Errors;和如何解决它们?](http://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them) – Chris

+1

由于这是一个JavaScript错误,而不是一个PHP错误,查看浏览器中的源代码以查看正在生成的内容。 – aynber

回答

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]在第三和第四possitions之间的空格。而其他地方也有空间。

+0

我错过了,该死的电话编辑!我现在修改了代码,但是,我仍然收到相同位置的完全相同的错误代码。 – user2195574

0

您的代码似乎有while,elseelse不适用于while。如果这是一个错误,那么尝试去除while循环上方的右括号。如果这不符合你的预期,那么你可能需要稍微调整你的代码。

+0

其他的是如果在线3。在if内完全关闭。 – aynber

+0

对不起,我的道歉,我误解你的代码。我相信ALexander有正确的选择。 – Jam1e