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