我应该为 WHERE 操作提供哪个 SQL 参数以全选


Which SQL Argument to the WHERE operation do I give to select all?

我目前正在从HTML选择中获取信息,它看起来像这样:

                      <select id = "select_something">
                        <option value = "All">All</option>
                        <option value = "First">Option 1</option>
                        <option value = "Second">Option 2</option> 
                        <option value = "Third">Option 3</option>  
                      </select>

我在 php 中的 sql 查询如下所示:

$query = "SELECT * FROM `table` WHERE `column` = '$something'";

如果选择了"全部",我可以输入哪个参数而不是$something以获得所有可能的结果?

如果选择了"全部",我不想创建不同的查询,也不想更改$query语句!我只对给出所有结果的 WHERE 操作的参数感兴趣(或者基本上你可以说它忽略了 where)。

提前感谢,雅 各。

编辑:找到的解决方案:

if ($something== "All") $something = 1;
else $something = "`column` = '$something'";
$query = "SELECT * FROM `table` WHERE $something;

感谢所有回复的人。

$query = "SELECT * FROM `table` WHERE `column` = '$something'" . (($something == "All") ? " OR 1 = 1" : "");
$query = "SELECT * FROM `table` WHERE 1";

但我也强烈建议阅读SQL注入和PDO。

<form method="POST">
<select id = "select_something">
<option value = "1">All</option>
<option value = "2">Option 1</option>
<option value = "3">Option 2</option> 
<option value = "4">Option 3</option>  
</select>
<input type="submit" name="Submit">
</form>

然后,我们通过以下方式处理您的 _POST 美元:

if (isset($_POST['select_something'])){
  $Method = NULL;
 switch ($_POST['select_something']){
    case 1:
       $Method = "All";
       break;
    case 2:
        $Method = "Option1";
        break;
    case 3:
        $Method = "Option2";
        break;
     case 4:
        $Method = "Option3";
        break;
 }
  $Query = "SELECT * FROM `table` WHERE `column`=".$Method;
}