Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php和html选择框过滤SQL查询_Php_Mysql_Html - Fatal编程技术网

使用php和html选择框过滤SQL查询

使用php和html选择框过滤SQL查询,php,mysql,html,Php,Mysql,Html,我正在开发一个网站,人们可以在那里买卖新车或二手车。我想使用php和sql语句设置一个简单的过滤器,当然还有html选择框(下拉选项)。我得到了所有其他的帮助,相信我,我非常感激。然而,我一直在努力让“价格过滤器”发挥作用,却一无所获。下面是我的html选择框的外观 <select name="price" size="0"> <option value="100000">Under $100,000</option> <option value="&l

我正在开发一个网站,人们可以在那里买卖新车或二手车。我想使用php和sql语句设置一个简单的过滤器,当然还有html选择框(下拉选项)。我得到了所有其他的帮助,相信我,我非常感激。然而,我一直在努力让“价格过滤器”发挥作用,却一无所获。下面是我的html选择框的外观

<select name="price" size="0">
<option value="100000">Under $100,000</option>
<option value="<?php echo " BETWEEN '100000' AND '250000' "?>">Between $100,000 and $250,000</option>
<option value=">250000<500000">Between $250,000 and $500,000</option>
<option value=">500000<750000">Between $500, 000 and $750,000</option>
<option value=">7500000">Over $750,000</option>
</select>
这是我的sql语句:

$sql = sprintf("SELECT * FROM  `chjadb_vehicles` WHERE  `v_make` LIKE  '$make'AND `v_year` =  '$year'AND  `v_trans` LIKE  '$trans'AND  `condition` LIKE  '$cond' AND `b_style` LIKE '$b_style' AND `v_price` '$price'");
之后,我有一个基本的循环,应该打印结果。现在根据我的理解(正确与否),当用户从下拉菜单中选择一个特定选项时,“option value”中的值将传递给$\u POST语句。之后,它应该将$price替换为介于“100000”和“250000”之间的实际文本,完成查询语句。因此,从sql语句打印的最终语句应该是:

"SELECT * FROM  `chjadb_vehicles` WHERE  `v_make` LIKE  '$make'AND  `v_year` =  '$year'AND  `v_trans` LIKE  '$trans'AND  `condition` LIKE  '$cond' AND  `b_style` LIKE '$b_style' AND `v_price` BETWEEN '100000' AND '250000'"`
但是我得到了这个错误:

在“100000\”和“250000\”之间,您的SQL语法有一个错误;检查与MySQL服务器版本对应的手册,以了解第8行“100000\”和“250000\”之间接近“”的正确语法

你知道我哪里出错了吗?谢谢

问候,,
D.Ruddock

我自己也是个新手,但我认为你不需要在你的BETWEEN语句中用引号括住数字。我想你可以把它们拿出来。如果我错了,我相信我会被纠正的,但这是我的想法。

我自己也是个新手,但我认为你不需要在中间陈述中的数字周围加引号。我想你可以把它们拿出来。如果我错了,我相信我会被纠正的,但那是我的想法。

最后的“是打字错误吗?”?如果不是,那可能就是问题所在。

最后的“是打字错误吗?”?如果不是,那可能就是问题所在。

行后:

$sql = sprintf("SELECT * FROM `chjadb_vehicles` WHERE `v_make` L....
付诸表决:

echo“

”$sql。”

”;
使用页面时,请临时查看浏览器中的最终SQL查询。找到错误所在,然后删除行后的“
echo
”语句。

$sql = sprintf("SELECT * FROM `chjadb_vehicles` WHERE `v_make` L....
付诸表决:

echo“

”$sql。”

”;

使用页面时,请临时查看浏览器中的最终SQL查询。找到错误所在,然后删除“
echo
”语句。

为什么不简单地使用
where v_price>=100000和v_price什么是“选择BOE”?这应该是“选择框”。。。很抱歉,错误更正了。。。当我使用您选择的语句时,我得到以下php错误:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解可在“>=100000和
v_-price
附近使用的正确语法,为什么不直接使用
其中v_-price>=100000和v_-price什么是“选择boes”?应该是“选择框”。。。很抱歉,错误更正了。。。当我使用您选择的语句时,我得到以下php错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用接近'>=100000和
v_price
的正确语法。是的,不确定这是如何得到的。是的,不确定这是如何得到的。报价不应该在那里,但我用PHPMYADMIN自动生成了PHP代码,它们包含了报价,所以我将它们放在引用不应该在那里,但是我用PHPMYADMIN自动生成了PHP代码,它们包含了引用,所以我把它们留在了
echo "<br><br>".$sql."<br><br>";