php - 简单数据库查询的问题

标签 php mysql database if-statement

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

问题出在里面的 if/if/else 上。第二个语句,当事件用户有一些连接,但他正在访问的个人资料没有时,则有效。结果是“邀请加入你的团队”。

但是,如果第一个自然状态为真,则当事件用户和个人资料所有者都没有连接时,我的查询将不起作用。它总是会导致 else 语句(“加入船员”),只有当配置文件所有者至少有一个连接($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。

关于php - 简单数据库查询的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41170717/

相关文章:

PHP CUSIP 检查号码

php 下载大文件失败

mysql - 如何使用 knex.js 使用事务

node.js - MongoDB - 如何更新/推送数组中的对象,该数组由另一个对象包含,而该对象又由另一个数组包含

javascript - 复选框不起作用

php - 如何改变CakePHP中 'joins'的顺序?

javascript - 如何使用Ajax将div内容存储到数据库

php - 如何检索ZF2中插入行的id?

mysql - GROUP CONCAT 不适用于子查询 - mysql

database - Postgres pg_dump 超时