PHP多条件if语句什么都不返回

时间:2013-02-07 15:02:52

标签: php

我一直试图弄清楚这几周,这是一个简单的陈述,但它永远不会执行if语句。我将变量回显到屏幕,所以我知道它们存在并且每个条件都是真的,但是回声"某些东西"从不执行。

 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 $ db_a和$ db_b是NULL但它们回应了我期望看到的浏览器。

希望这可以解释一些事情吗?

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

如果你说$ 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";
}

您可以在问题中添加变量的值吗?