Mysql 在包含所有条件SQL的位置中选择
我有多个下拉菜单和选项列表Mysql 在包含所有条件SQL的位置中选择,mysql,Mysql,我有多个下拉菜单和选项列表 <select id="options"> <option value="all" selected>All</option> <option value="1">Good</option> <option value="2">Bad</option> <option value="3">Okay</option>
<select id="options">
<option value="all" selected>All</option>
<option value="1">Good</option>
<option value="2">Bad</option>
<option value="3">Okay</option>
</select>
<select id="options1">
<option value="all" selected>All</option>
<option value="1">Good</option>
<option value="2">Bad</option>
<option value="3">Okay</option>
</select>
<select id="options2">
<option value="all" selected>All</option>
<option value="1">Good</option>
<option value="2">Bad</option>
<option value="3">Okay</option>
</select>
如果选择选项“all”,SQL将不返回任何内容,因为表中没有记录为“all”。如果选择“全部”,如何使其返回所有选项?考虑不同的下拉ID类似
$result = mysqli_real_escape_string($connect, $_POST['options']);
if($result == "all"){
$sql = mysqli_query($connect, "SELECT * FROM `table`");
}else{
$sql = mysqli_query($connect, "SELECT * FROM `table` WHERE `option` = '$result'");
}
这将帮助您避免SQL语句中的Where条件,如果
$result
的值为“all”,那么如果我有多个select ID怎么办?用户可以选择ID的任意组合。它们可以有一个通用的SQL吗?在操作符@Rubiks中使用SQL,比如:$SQL=mysqli_query($connect,“SELECT*FROMtable
WHEREoption
in=(“$result”)$结果必须具有逗号分隔的值。如果将$result分配给不同的选项ID列,则这将不起作用,例如$result=all from ID options$result=all from ID options 1nicesql
injection'(°o)/“”,它在哪里?请检查增益“mysqli\u real\u escape\u string”
$result = mysqli_real_escape_string($connect, $_POST['options']);
if($result == "all"){
$sql = mysqli_query($connect, "SELECT * FROM `table`");
}else{
$sql = mysqli_query($connect, "SELECT * FROM `table` WHERE `option` = '$result'");
}