2013-03-18 92 views
0

我一直在尋找周圍約30分鐘,而我只是找不到這裏的問題...SELECT * FROM問題

if($middle == 'garage'){ 
    $result = mysql_query("SELECT * FROM character WHERE username = '$username'") or die(mysql_error()); 
    $row = mysql_fetch_array($result); 
    $return['middle'] = $row['username']; 
} 

出於某種原因,這是回訪

你在您的SQL語法中有錯誤;檢查對應於你的MySQL服務器版本使用附近的性格其中username =‘正確的語法Alcapwn’'在1號線

我已經嘗試了這麼多的事情,其他SELECT * FROM查詢的工作正常手冊,這只是這一個。包含它的表和行在那裏。如果我切換

$result = mysql_query("SELECT * FROM character WHERE username = '$username'") or die(mysql_error()); 

$result = mysql_query("SELECT * FROM users WHERE username = '$username'") or die(mysql_error()); 

第二個工作,但不是第一個。

+0

這是一個古老的評論,但作爲一個初學者很重要的學習早,所以你不必在未來改變整個應用程序。使用PDO或mysqli_ *函數而不是mysql_ *堆棧。請參閱http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers – Alex 2013-03-18 01:33:45

回答

3

characterreserved mysql word,所以你必須把它們放在反引號

FROM `character` ... 
+0

這並沒有解決它。同一問題 – Alcapwn 2013-03-18 01:30:36

+2

@Alcapwn:這是不可能的。顯示新代碼和**精確**錯誤消息 – zerkms 2013-03-18 01:30:58

+1

但是,我查看了它是保留字的事實,並切換了表名。現在它工作正常。非常感謝你。 – Alcapwn 2013-03-18 01:32:40

0

似乎字符是一個MySQL的保留字,這意味着你可以不使用它作爲表名。