2014-01-29 26 views
0

我正在一個網站上爲我的朋友和我製作DnD字符表。第一部分完成,數據正確發送,但不會上傳到服務器。我一直在解決這個問題,但仍然無法解決這個問題。所有的東西拼寫與服務器相同,並連接服務器。我在mysqli_error()得到的錯誤是:PHP INSERT查詢語法

您的SQL語法錯誤;檢查與您的MySQL服務器相對應的手冊,以便在第1行使用接近'字符(id,用戶名,字符名,類,級別,比賽,對齊,本尊,si)的手冊

我把echo這個問題,以確保一切正常上傳之前,一切都工作正常,但不會上傳的$bd是連接和工作,因爲我與其他頁面中使用它

這是我的代碼:。

echo ($id . "<br />"); 
echo ($username . "<br />"); 
echo ($characterName . "<br />"); 
echo ($class . "<br />"); 
echo ($level . "<br />"); 
echo ($race . "<br />"); 
echo ($alignment . "<br />"); 
echo ($deity . "<br />"); 
echo ($size . "<br />"); 
echo ($age . "<br />"); 
echo ($gender . "<br />"); 
echo ($height . "<br />"); 
echo ($weight . "<br />"); 
echo ($eyes . "<br />"); 
echo ($hair . "<br />"); 
echo ($skin . "<br />"); 
echo ($mysql_hostname . "<br />"); 
echo ($mysql_user . "<br />"); 
echo ($mysql_password . "<br />"); 
echo ($mysql_database . "<br />"); 

if(isset($_POST['nc1'])) 

{ 
$query = "INSERT INTO characters (id, username, characterName, class, level, race, alignment, deity, size, age, gender, height, weight, eyes, hair, skin) VALUES ('$id', '$username', '$characterName', '$class', '$level', '$race', '$alignment', '$deity', '$size',  '$age', '$gender', '$height', '$weight', '$eyes', '$hair', '$skin')"; 
mysqli_query($bd,$query) or die('Error: ' . mysqli_error($bd)); 
//header('location:success.php');//Redirect To Success Page 
echo ("success"); 
} 
+1

你可以發佈$查詢的內容嗎? – Yani

+0

非常感謝大家,我改變了表名,它完美地工作。我不明白錯誤是什麼意思,所以謝謝。 – Andrew

回答

0

據說在here你的表名character是一個保留字,所以你需要改變它,否則你的代碼將無法工作。

3

character是一個reserved word在mysql中。如果你使用這個作爲表名,你必須用引號將:

$query = "INSERT INTO `character` (`id`, `username`, .... 

作爲一個很好的做法,爲了防止這樣的故障,總是報價表或列名。