PHP中if.else语句中的第三个条件不可访问


Third condition in if...else statement in PHP is not accessible

我是PHP的新手,我已经在谷歌上搜索了一整天,想找出我的代码出了什么问题,但我没能找到一个满足我想要的输出的;为了让你更好地了解我的担忧,我在下面写了我的代码。

 <?php
 if (empty($lname) && empty($fname)) {
   echo"WARNING: Unable to save information, Blank fields found, Enter N/A if it is not applicable for the employee.";
 } else if ($query) {
   echo"WARNING: Unable to save information, Employee already exist in the database.";
 } else if ($save) {
   echo"$fname&nbsp;$lname's personal information saved succesfully.";
 }
 ?>

第一个条件检查值是否为空,第二个条件检查数据库中是否已经存在值,如果以上两个条件不成立,则第三个条件保存值。

如果我一次运行一个条件,那么这三个条件都有效,但当我使用if…else语句将它们放在一起时,第三个条件不起作用。

我想请求你的帮助,并启发我在代码上遗漏了什么。

您使用$query不正确。使用mysql_num_rows检查SELECT查询返回的行数:

if (empty($lname)&&empty($fname)) {
    echo "WARNING: Unable to save information, Blank fields found, Enter N/A if it is not applicable for the employee.";
} else if (mysql_num_rows($query) > 0) {
    echo "WARNING: Unable to save information, Employee already exist  in the database.";
} else if ($save) {
    echo "$fname&nbsp;$lname's personal information saved succesfully.";
}

请注意,mysql_*方法已弃用,应使用更现代的库进行替换。通过快速搜索和查看PHP文档,您可以找到许多关于这方面的主题(请参阅上面我引用的mysql_num_rows链接中的红框?)