【发布时间】:2013-10-07 09:03:36
【问题描述】:
我正在运行 SQL 查询来搜索我的数据库。我目前可以搜索所有内容,直到我比较价格。
没有价格比较的工作代码
$query = "SELECT * FROM propertie_ids WHERE (`search` LIKE '%".$searchquery."%') AND (`location` = '$location') AND (`bathroom` = '$bathroom') AND (`bedroom` = '$bathroom');
价格比较破代码
$query = "SELECT * FROM propertie_ids WHERE (`search` LIKE '%".$searchquery."%') AND (`location` = '$location') AND (`bathroom` = '$bathroom') AND (`bedroom` = '$bathroom') AND price BETWEEN ('0') AND ('10000000000')";
关于为什么这不起作用的任何想法,我已经检查并且我的所有表都正确命名。
【问题讨论】:
-
你打印这个查询直接在mysql中执行了吗?
-
我认为价格应该是十进制/双精度/货币。你在这里测试字符串值!
-
我已经在数据库上运行了两个查询,我没有收到任何错误,但是工作代码给了我一个列表,而损坏的什么也没做。 @Nadeem_MK - 价格存储在我的数据库中的字符串中
-
将价格存储为字符串不好... :-) 您需要使用
CAST()-函数来进行数值比较...请提供一些示例数据!跨度>