[英]Basic SQL syntax, MAMP, PHP & MySQL
我知道這很簡單,但確實很煩人,
為什么這樣做:
$query = $pdo->prepare('SELECT index FROM active_notifications WHERE direction = ">"');
這有效:
$query = $pdo->prepare('SELECT trigger_price FROM active_notifications WHERE direction = ">"');
但是,這不會!:
$query = $pdo->prepare('SELECT trigger_price, index FROM active_notifications WHERE direction = ">"');
我得到這個垃圾:
無法連接到數據庫。 原因:消息“ SQLSTATE [42000]”的異常“ PDOException”:語法錯誤或訪問沖突:1064 SQL語法有錯誤;
您不應使用諸如“ index”之類的保留字作為列(或表,模式或任何需要標識符的名稱)的名稱。
您的數據庫很可能能夠從第一條語句的上下文中推斷出“索引”作為列的名稱,但是選擇多個列會導致其模棱兩可。
無論如何,這不是真正的問題。 您不想使用諸如“索引”之類的保留字作為標識符,否則會發生奇怪的事情。 嘗試更改您的列的名稱。
您可以通過在SQL語句中使用`來轉義MySQL保留字,即:
SELECT trigger_price,
`index`
FROM active_notifications
WHERE direction = ">"
閱讀MySQL文檔以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.