2014-11-05 77 views
0

单词"true"位于数据库中,从中获取数据,但if语句将转到else。if if in PHP

while(odbc_fetch_row($user)){ 
    echo "<div style='position:absolute;overflow:scroll;height:370px;'>"; 
    $name   = odbc_result($user, 'username'); 
    $email  = odbc_result($user, 'email'); 
    $admin  = odbc_result($user, 'admin'); 
    $lastLogin = odbc_result($user, 'lastLogin'); 
    $userDisabled = odbc_result($user, 'disabled'); 
    $fullname  = odbc_result($user, 'firstName') . " " . odbc_result($user, 'lastName'); 

    echo "<br><h2> " . $name . "</h2>"; 
    echo $fullname . "<br>"; 
    echo " " . $email; 
    echo "<br>Last Login Time: <br>" . $lastLogin; 
    echo "<br>"; 

    if($userDisabled == "true"){ 
     echo "<input type='checkbox' class='disableUser' checked id='disableUser'>Disable User<br>"; 
    }else{ 
     echo "<input type='checkbox' class='disableUser' id='disableUser' >Disable User<br>"; 
    } 

    echo "<br>"; 
} 
+0

'的var_dump($ userDisabled)' – 2014-11-05 20:29:55

+1

做'的var_dump($ userDisabled)',然后。像“真实的空间”这样的东西会抛弃比较。 – 2014-11-05 20:30:01

+0

我们正在等待您的转储.... :) – 2014-11-05 20:33:47

回答

0

所以这种尝试:

if((is_bool($userDisabled) && $userDisabled === TRUE) || (is_string($userDisabled) && strtoupper($userDisabled) == "TRUE") { 
# do your job 
}else { 
# you can eat or sleep :) 
} 
+0

你可以做到这一点,但任何想法,为什么我的代码不起作用? – ScottC 2014-11-05 21:07:05

+0

,因为你试图比较一个字符串与布尔值,这是不正确的 – 2014-11-05 21:37:22

+0

没有我的代码比较'$ userDisabled'这是从数据库中获取字符串,''true“'这也是一个字符串,上面的人评论说,也许有一个空白字符被存储在我的字符串的末尾或什么 – ScottC 2014-11-06 13:24:27