2016-05-20 47 views
-1

這是非常令人沮喪的,有時SQL數據庫只是讓我瘋狂。請有人可以告訴我爲什麼第二個查詢出錯,而第一個查詢完成得很好。mysqli_query無理由返回錯誤


$sql = "SELECT* FROM Order WHERE ID='$id'AND Delivered='NO'"; 

$sql = "SELECT* FROM Distributors WHERE ID='$id'AND PhoneNumber='$phone'"; 

有了一個錯誤:

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 'Order WHERE ID='SGxxxxxJ'AND Delivered='NO'' at line 1

+0

'Order'是一個保留字。你需要根據數據庫對其進行轉義 - mysql使用back ticks ... – sgeddes

+0

你可以將列'Order'重命名爲與'ORDER' mysql關鍵字不同的任何東西。 – keziah

+0

正如他們上面所說的,你需要逃避你的'Order' - >'''Order \'' – Darren

回答

0

試試這個

$sql = "SELECT* FROM `Order` WHERE ID='$id' AND Delivered='NO'"; 

空間B/W 'id''AND'和表名反勾

+0

你的快速反應救了我。謝謝 –