这似乎是一个非常奇怪的问题,我似乎无法深究原因。运行 mysql select 语句时,我们一直没有返回任何结果,但只有当值达到引用的 '7.56' 时。如果我们在没有引号的情况下运行相同的查询或使用不同的数字,它会按预期工作。下面的示例查询和结果:
SELECT *
FROM `orders`
WHERE `itemsTotal` = '7.56'
LIMIT 0 , 30
MySQL 返回一个空的结果集(即零行)。(查询耗时 0.0334 秒)
SELECT *
FROM `orders`
WHERE `itemsTotal` = 7.56
LIMIT 0 , 30
Showing rows 0 - 0 ( 1 total, Query took 0.0297 sec)
现在,如果您将项目总数更改为 7.57:
SELECT *
FROM `orders`
WHERE `itemsTotal` = '7.57'
LIMIT 0 , 30
Showing rows 0 - 0 ( 1 total, Query took 0.0280 sec)
SELECT *
FROM `orders`
WHERE `itemsTotal` = 7.57
LIMIT 0 , 30
Showing rows 0 - 0 ( 1 total, Query took 0.0284 sec)
这是在本地主机上运行 mysql 5.5.24 进行测试,在实时环境中运行 mysql 5.0.95。从 PHP 文件和 phpmyadmin 运行此查询时,结果相同。如果有人能发现明显的错误,请告诉我!