简单数据库查询的问题

时间:2016-12-15 18:11:20

标签: php mysql database if-statement

这个非常简单的数据库查询存在问题。开放的条件是真的有效。

问题来自于if / if / else内部。第二个语句,当活动用户有一些连接,但他正在访问的配置文件没有,正在工作。结果“邀请你的船员”。

但是如果第一个自然状态为真,那么当活动用户和配置文件所有者都没有连接时,我的查询就无效了。它总是会产生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
----------------        ----------------

(显然是空的)

1 个答案:

答案 0 :(得分:0)

我认为你错过了&#34;否则&#34;第二种情况下的关键字。

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>";
}

你的第一个条件正常。但由于缺少else,它会覆盖您的变量,因为第二个条件被评估为false。