条件未赋值给变量

时间:2016-03-25 05:29:28

标签: php mysql variables

如果条件满足,我试图将值赋给变量。但是,php仍然没有设置值。我做错了什么?

这是我的PHP代码:

if(isset($_POST['submit'])) {
    if (isset($_POST['unit'])) {
    $unit = $_POST['unit'];
    $query = search_by_unit($table, $unit);
    }
} else if(!isset($_POST['submit'])){
     $query = select_all($table);
}
$result = mysqli_query($connection, $query);

当我在设置单位控制后提交表格时,它仍然会运行选择所有功能。

这是功能:

function select_all($table_name){
      return "SELECT * FROM {$table_name}";
 }

function search_by_unit($table_name,$unit){
      return "SELECT * FROM {$table_name} WHERE unit = '{$unit}'";
 }

2 个答案:

答案 0 :(得分:1)

检查提交按钮值完全不是一个好习惯。您必须直接检查form Posted值,因此代码应如下所示: -

if (isset($_POST['unit'])){
    $unit = $_POST['unit'];
    $query = search_by_unit($table, $unit);
}else{
    $query = select_all($table);
}

答案 1 :(得分:0)

您似乎正在进行比您真正需要的更多检查,或者可能需要。我将此代码缩减为:

if (isset($_POST['unit'])) {
    $unit = $_POST['unit'];
    $query = search_by_unit($table, $unit);
}
else {
    $query = select_all($table);
}

如果设置了$_POST['submit']$_POST['unit']不是,那么您仍然拥有$query的值。