繁体   English   中英

简单数据库查询的问题

[英]issues with simple database query

我有这个非常简单的数据库查询问题。 开头的if条件为真且有效。

问题来自内部的if / if / else。 第二条语句是当活动用户具有某些连接但他正在访问的个人资料不起作用时。 结果为“邀请您的船员”。

但是,如果第一个自然状态为true,那么当活动用户和配置文件所有者都没有连接时,我的查询将无法正常工作。 它将始终导致else语句(“ join crew”),仅当配置文件所有者具有至少一个连接($ countProfileCon!== 0)时才会发生,在这种情况下,活动的连接数无关紧要用户拥有。

我不明白为什么。

    if ($countCurrent==0 && $countFormer==0) {


        $activeConnectionQuery = $DBcon->query("SELECT * FROM tbl_current_userconnections WHERE user_id=".$_SESSION['userSession']);
        $countActiveCon=$activeConnectionQuery->num_rows;

        $profileConnectionQuery = $DBcon->query("SELECT * FROM tbl_current_userconnections WHERE user_id=".$_GET['user']);
        $countProfileCon=$profileConnectionQuery->num_rows;



        if ($countActiveCon==0 && $countProfileCon==0) {
            $connect = "<p>create a crew</p>";
        }

        if ($countActiveCon!==0 && $countProfileCon==0) {
            $connect = "<p>invite to your crew</p>";
        } 

        else {
            $connect = "<p>join crew</p>";
        }
    }

发生问题时,tbl_current_userconnections如下所示:

user_id                 connection_id
----------------        ----------------

(很明显是空的)

我认为您在第二种情况下缺少“ else”关键字。

if ($countActiveCon==0 && $countProfileCon==0) {
    $connect = "<p>create a crew</p>";
}

elseif ($countActiveCon!==0 && $countProfileCon==0) {
    $connect = "<p>invite to your crew</p>";
} 

else {
    $connect = "<p>join crew</p>";
}

您的第一个条件很好。 但是由于缺少elseif,它会覆盖您的变量,因为第二个条件被评估为false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM