2011-06-28 120 views
1

查詢是:爲什麼SQL查詢通過PHPMySQLAdmin工作,而不是通過mysql_query工作?

SELECT COUNT (*) FROM Production AS p LEFT OUTER JOIN Estimates ON 
p.EstId=Estimates.EstId WHERE p.DocketNumber=20227 

當我進入這個字面上查詢到PHPMySQLAdmin,它執行並給我一個結果。當我將這個查詢輸入到PHP代碼中時,它會引發錯誤。連接到數據庫沒有問題,因爲當我刪除COUNT和*周圍的括號時,查詢就會執行。

這是MySQL的問題,並與計數命令衝突?

編輯:NVM

+3

你得到的錯誤是什麼? –

+1

你的php代碼是什麼? –

+3

如果您刪除COUNT和(*)之間的空格,您是否也收到錯誤(確切地說有什麼錯誤?)? – Gryphius

回答

1

MySQL有對是否接受COUNT (*)或是否選擇堅持,有沒有空間。該選項可以根據數據庫連接進行設置,因此可以在您的phpMyAdmin連接與您的PHP連接中進行不同的設置。

因此SELECT COUNT (*) ...可能是錯誤或不是,這取決於SQL模式。在COUNT之後使用SELECT COUNT(*) ...而沒有空格通常更正確。

有關更多詳細信息,請參見Function Name Parsing and Resolution

0

取出數和括號

select count(*) ... 

然後將查詢看起來syntactially正確之間的空間。你絕對肯定你將這個sql語句複製到phpmyadmin和你的php代碼中?怎麼把我的phpmyadmin不喜歡數和括號之間的任何空間......

#1064 - 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 '*) from tablename LIMIT 0, 30' at line 1 
+0

不,這是不正確的。我刪除了空格,查詢仍然沒有執行。此外,錯誤發生在PHP代碼中,而不是在phpMyAdmin中 – BlackSheep