Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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/5/url/2.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 尽管有if语句,代码仍在运行? echo' '; 如果(!空($\u POST['selector3'])){ $eventsquery=mysql\u查询(“ 选择studentid、statusid、时间戳、已用时间 从事件中 其中studentid=“$name” 和statusid='$\u POST['selector3'] 按时间戳顺序描述 限制1 ") 或者死(“查询数据库时出错”.mysql_Error());}_Php_Mysql_Forms_If Statement_Input - Fatal编程技术网

Php 尽管有if语句,代码仍在运行? echo' '; 如果(!空($\u POST['selector3'])){ $eventsquery=mysql\u查询(“ 选择studentid、statusid、时间戳、已用时间 从事件中 其中studentid=“$name” 和statusid='$\u POST['selector3'] 按时间戳顺序描述 限制1 ") 或者死(“查询数据库时出错”.mysql_Error());}

Php 尽管有if语句,代码仍在运行? echo' '; 如果(!空($\u POST['selector3'])){ $eventsquery=mysql\u查询(“ 选择studentid、statusid、时间戳、已用时间 从事件中 其中studentid=“$name” 和statusid='$\u POST['selector3'] 按时间戳顺序描述 限制1 ") 或者死(“查询数据库时出错”.mysql_Error());},php,mysql,forms,if-statement,input,Php,Mysql,Forms,If Statement,Input,即使没有设置选择器3,它也会在if语句中运行代码 您可以尝试使用isset而不是空的 echo '<form method="post"> <input type="text" name="selector3"> <input type="submit" name="submit3" value="submi

即使没有设置选择器3,它也会在if语句中运行代码

您可以尝试使用isset而不是空的

                echo '<form method="post">
                                <input type="text" name="selector3">
                                <input type="submit" name="submit3" value="submit3">
                                  </form>';

                                  if (!empty($_POST['selector3'])) {

                        $eventsquery = mysql_query("
                            SELECT studentid, statusid, timestamp, elapsed
                            FROM events
                            WHERE studentid = '$name'
                            AND statusid = '$_POST['selector3']'
                            ORDER BY timestamp DESC
                            LIMIT 1
                            ")
                            or die("Error querying database ".mysql_error()); }

代码在这里按预期工作。当$\u POST['selector3']为空时,不会执行查询

但是,查询中存在语法错误。它被$_POST['selector3']搞糊涂了

if (isset($_POST["selector3"])) {
    ...
}

什么是
变量转储($\u POST['selector3'])输出?@Amal Murali它输出未定义的索引,这意味着
$\u POST[“selector3”]
有一个值。所以它不像你想象的那么空。您正在发布以访问此页面,在发布之前是否可以检查selector3值?
<?php
var_dump($_POST);
$name = '';
echo '<form method="post">
                                <input type="text" name="selector3">
                                <input type="submit" name="submit3" value="submit3">
                                  </form>';

                                  if (!empty($_POST['selector3'])) {

                        $eventsquery = mysql_query("
                            SELECT studentid, statusid, timestamp, elapsed
                            FROM events
                            WHERE studentid = '$name'
                            AND statusid = '{$_POST['selector3']}'
                            ORDER BY timestamp DESC
                            LIMIT 1
                            ")
                            or die("Error querying database ".mysql_error()); }
var_dump($_POST);
?>