2013-11-22 123 views
-1

我想對匹配十進制數= 0.00的結果進行查詢,然後在另一個查詢中查找結果大於0.00的查詢。mySQL語法錯誤爲「= 0」

我必須只用一個變量和一個查詢語句來做到這一點。

所以我寫了:

SELECT * 
FROM table 
WHERE price $price 

,然後$price變量有兩個值,一個是:"= 0.00",另有"> 0.00"

但我得到的錯誤:

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 '"= 0.00" LIMIT 0, 30' at line 1

有沒有其他方法可以解決這個問題?有任何想法嗎?

(我必須有一個句子,一個變量...)

+0

請發表您的完整代碼,請注意你這樣做的方式打開你SQL注入,因爲你允許用戶直接修改你的SQL – nrathaus

+0

你可以顯示'$ price'包含 –

+0

@Deepu,他在第四段。 –

回答

0

根據您的列數據類型,價格既可以在數據庫中作爲一個字符串或實際浮點/雙精度可見。檢查您的列數據類型,以便您可以創建正確的比較類型,即價格= 0.00或價格='0.00'。取決於存儲的列的數據類型有很多優點,可以內聯執行算術,但是如果數據類型是varchar /某種類型的字符串等價物,則無法使用任何內置方法你正在使用的SQL引擎。