Php if和else语句除外

Php if和else语句除外,php,if-statement,Php,If Statement,我遇到了一个奇怪的问题:if和else语句都在执行。这是我的密码: if ($sel_user['name'] != $name) { $query = "UPDATE owner SET ..." $result = mysql_query($query); if (mysql_affected_rows() ==1) { $query2 = "UPDATE queue_acl S

我遇到了一个奇怪的问题:if和else语句都在执行。这是我的密码:

    if ($sel_user['name'] != $name) {
        $query = "UPDATE owner SET 
                ..."
        $result = mysql_query($query);
        if (mysql_affected_rows() ==1) {
            $query2 = "UPDATE queue_acl SET 
                ..."
            $result2 = mysql_query($query2);
            if (mysql_affected_rows() ==1) { 
                $_SESSION['updates_occurred'] = true;
            } else {
                $_SESSION['updates_occurred'] = false;
            }
        }
    }

    if ($sel_user['orgId'] != $orgId) {    
        $query = "UPDATE ownerOrganization SET
                ..."
        $result = mysql_query($query);
        if (mysql_affected_rows() ==1) {
            $query2 = "UPDATE queue_acl SET
                ..."
            $result2 = mysql_query($query2);
            if (mysql_affected_rows() ==1) {
                $_SESSION['updates_occurred'] = true;
            } else {
                $_SESSION['updates_occurred'] = false;
            }
        }
    }

    if ($sel_user['date_expires'] != $colVal[0] || 
            $sel_user['admin'] != $colVal[4]) {
        $query3 = "UPDATE queue_acl SET
                ..."
        $result3 = mysql_query($query3);
        if (mysql_affected_rows() ==1){
            $_SESSION['updates_occurred'] = true;
        } else {         
            $_SESSION['updates_occurred'] = false;
        }                
    } else {
        $_SESSION['updates_occurred'] = false;    
        $message = "<i>There were no edits to apply</i>";
    }
if($sel_user['name']!=$name){
$query=“更新所有者集”
..."
$result=mysql\u query($query);
如果(mysql\u受影响的\u行()==1){
$query2=“更新队列\u acl集
..."
$result2=mysql\u查询($query2);
如果(mysql_受影响的_行()==1){
$\u会话['updates\u occurrent']=true;
}否则{
$\u会话['updates\u occurrent']=false;
}
}
}
如果($sel_user['orgId']!=$orgId){
$query=“更新所有者组织集
..."
$result=mysql\u query($query);
如果(mysql\u受影响的\u行()==1){
$query2=“更新队列\u acl集
..."
$result2=mysql\u查询($query2);
如果(mysql\u受影响的\u行()==1){
$\u会话['updates\u occurrent']=true;
}否则{
$\u会话['updates\u occurrent']=false;
}
}
}
如果($sel_user['date_expires']!=$colVal[0]|
$sel_用户['admin']!=$colVal[4]){
$query3=“更新队列\u acl集
..."
$result3=mysql\u查询($query3);
如果(mysql\u受影响的\u行()==1){
$\u会话['updates\u occurrent']=true;
}否则{
$\u会话['updates\u occurrent']=false;
}                
}否则{
$\u会话['updates\u occurrent']=false;
$message=“没有要应用的编辑”;
}
当我运行此程序时,查询正在发送,所有内容都在更新,但“没有编辑”消息也正在打印

有人知道为什么吗


编辑:我不想使用elseif语句;这些事件并不是相互排斥的。也就是说,如果$sel_user['name']!=$名称和$SELU用户['orgId']!=$orgId,这两个查询都需要发送

而不是执行大量的if,您应该执行elseif

i、 e


希望能有所帮助。

如果您不想将所有内容都封装在If/else If语句中,可以在每个If检查的末尾设置一个标志

if($sel_user['name'] != $name) {
     // CODE HERE
     $flag = true;
}

if(!$flag){
     $message = "<i>There were no edits to apply</i>";
}
if($sel_user['name']!=$name){
//代码在这里
$flag=true;
}
如果(!$flag){
$message=“没有要应用的编辑”;
}

或者您可以运行if check off$\u会话['updates\u occurrent']

这绝对是正确的建议。考虑代码时,这些错误会跳到你身上。这是一个好的步骤。我建议永远不要在
}其他地方写作{
风格。您希望您的
if
和成对的
else if
else
缩进在同一级别。感谢您的建议,但这不是我想要的。我没有使用elseif语句,因为我不希望更新相互排斥;在eigen中可以执行多个语句,看起来像是Tim得到了you排序,但这确实会使这个问题产生误导。+1在澄清他的问题后,很明显OP希望运行所有三个,如果没有运行,则报告。这是一个很好的建议--修复了它。谢谢Tim:-)这真的很好:)
if(!printf("Hello")) {
    echo "Hello";
}
else {
    echo " World";
}
if(!printf("Hello")) {
    echo "Hello";
}
else {
    echo " World";
}