繁体   English   中英

MySql 查询范围之间的价格

[英]MySql query price between range

好的,所以我为我的搜索页面做了这个查询:

SELECT * FROM `posts` WHERE `ad_price` >= 0 AND `ad_price` <= 300

这部分显示了基于添加这些家伙的不同结果:“”

>= 0 AND `ad_price` <= 300

如果我说>= 0 AND `ad_price` <= 300

数据返回 0 到 30 之间的任何值,但如果我说>= "0" AND `ad_price` <= "300"它得到的数字高达 10,000 和 2000 等等。为什么?

这是我完全准备好的 PHP 语句(我知道它们被视为字符串,但如果它在准备好的语句中,我该如何更改它):

$query = "SELECT * FROM `posts` WHERE `ad_title` LIKE CONCAT('%',?,'%') AND `ad_brand` 
LIKE CONCAT('%',?,'%') AND `ad_price` >= ? AND `ad_price` <= ?"; 
$get_posts = $conn_posts->prepare($query);
$get_posts->bind_param("ssss", $title, $brand, $min_range, $max_range);

"ssss"告诉 mysql 将所有输入值视为字符串。 i用于您希望被视为数字的参数。

例如

"ssii"

在你的情况下。

这在手册中有记录: https : //www.php.net/manual/en/mysqli-stmt.bind-param.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM