2016-12-27 67 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