2013-11-22 125 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引擎。