PHP多条件if语句不返回任何内容


PHP Multiple condition if statement returning nothing

我已经试着弄清楚这一点好几个星期了,这是一个简单的语句,但它从未执行if语句。我在屏幕上回显变量,这样我就知道它们存在,每个条件都是真的,但回显"something"永远不会执行。

 if ($db_a==$session_a && $db_b==$session_b && $dbfreq_b=="1")
        {
         echo "something";
        }

我以为这只是括号,因为我最初有这样的:

if (($db_a==$session_a) && ($db_b==$session_b) && ($dbfreq_b=="1")) 

我将存储在MYSQL数据库中的变量与会话变量进行比较。

如果我使用Var_dump,db变量为null,但它们会将预期的字符串值返回到屏幕。

$db_a="username";
$session_a="username";
$db_b=="keyword string"; -mostly one word but could be multiple
$session_b=="keyword string";
$dbfreq_b="1"; - This is the frequency that the keyword appears in the MYSQL database

使用vardump$dba和$dbb是NULL,但它们与我期望在浏览器中看到的内容相呼应。

希望这能解释更多?

感谢您的及时帮助!!

如果如您所说$db_a=$session_a AND$db_b=$session_b AND$dbfreq_b=1,则该条件不可能返回false。

请再次检查您的代码(所有5个变量),并确保满足所有条件。你可以把你的单个IF分成三个单独的条件,这样你就知道哪一个返回false。

if ($db_a == $session_a) {
    echo "first OK'n;"
} 
if ($db_b == $session_b) {
    echo "second OK'n";
}
if ($dbfreq_b == "1") {
    echo "third OK";
}

你能把变量的值加到你的问题中吗?