这个非常简单的数据库查询存在问题。开放的条件是真的有效。
问题来自于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
---------------- ----------------
(显然是空的)
答案 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。