我有一個相當簡單的查詢與我的AJAX應用程序的工作,但它提供了以下錯誤:在使用WHERE分隔符選擇多列時MySQL語法錯誤?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc, price FROM products WHERE id='asfasfasf1'' at line 1
我被這個偶然,因爲我根本無法看到任何地方的語法錯誤:
echo json_encode($this->query("SELECT name, desc, price FROM products WHERE id='".$id."';"), JSON_FORCE_OBJECT);
查詢()如下:
function query($query){
$link = mysql_connect($this->host, $this->username, $this->password);
$connected = mysql_select_db($this->database, $link);
if(!$connected){
die("Error: selecting database.");
}
$q = mysql_query($query);
if(!$q){
return "Error: ".mysql_error();
}
$result = mysql_fetch_assoc($q);
return $result;
}
當然,這是一個對象內,但不應該有什麼關係呢。所有字段都是正確的,數據庫可以連接到,因爲查詢()與其他代碼多次使用並運行良好。請幫忙。
1)我不認爲你必須用分號結束你的SQL語句2)你確定逗號實際上是逗號3)你是否嘗試輸出生成的查詢並在phpmyadmin中運行它? – naivists