簡體   English   中英

基本SQL語法,MAMP,PHP和MySQL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM