您好我有一个PHP脚本,因为我得到了所需的结果,但无法解决为什么当我输入一个空白查询我的错误信息没有显示而是我得到所有结果。任何人都可以对此有所了解。当输入的输入值与数据库不匹配时,错误消息将起作用,它只是空白查询。我可以使用javascript(验证)进行控制,但如果我理解我的脚本有什么问题,我会更喜欢。
我已经查看过使用isset的问题(我试图应用但显然不正确。
我在考虑
if( isset...){
post [query];
}
else{
do not post ;
但是没有正确应用(上面是另一个问题),但不确定是否正确。下面是我的脚本给出了不良行为:
<?php
include 'config.php';
$userinputone = isset($_POST['abc'])? $_POST['abc'] : false;
$userinputone = mysqli_real_escape_string($con,$userinputone);
$sql = "SELECT * FROM handover WHERE batch1number = '".$userinputone."' OR
batch2number = '".$userinputone."' ";
$result = mysqli_query($con,$sql);
$count=mysqli_num_rows($result);
if($count==0 ){
echo "</br></br></br></br></br></br></br><p> No Matching results found</p>";
}
else{
while($row = mysqli_fetch_array($result)) {
echo "</br></br></br><select>";
echo "<option>" . $row['batch1number'] . $row['batch2number'] . "</option>";
echo "</select>";
}
}
mysqli_close($con);
?>
提前感谢您的帮助。
答案 0 :(得分:0)
如果参数为空,我猜isset将等于true,尝试其他函数,如is_empty,is_null,intval(),floatval()等...并且总是转储你的参数来检查它们包含的内容,所以它不是尽可能准确,并且还要注意SQL注入。