gpt4 book ai didi

php mysql 信息检索

转载 作者:行者123 更新时间:2023-11-29 02:06:07 25 4
gpt4 key购买 nike

if ($cuser->loggedin()){
if (!empty($_POST['returnto']))
{
header("Location: ".htmlspecialchars($_POST['returnto']));
}
else
{
$query = ("SELECT id, username, check FROM users WHERE id=".$CURUSER['id']);
$result = do_mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
if ($row['check'] == true) {
echo 'omg';
} else {
echo 'omg false';


}
//To stop script executing next code ant print info...
die();
}

}

die();
}

但总是得到:omg,即使我将其更改为 false。有什么想法吗?

最佳答案

当你用 mysql_fetch_assoc 得到结果时,数组中值的类型几乎总是字符串(它们偶尔可能是 null,但这不是这里的问题).

如果您将它们与 == 比较运算符进行比较,则任何非空字符串的计算结果都将为 true

返回的实际值将不是 true。它可能是包含单词 true 或单词 false 的字符串。但是,与 bool 值 true 相比,这两者的计算结果都是 true

您应该比较的确切内容取决于您的数据库中的内容...


您的评论表明该字段是一个枚举。这为您提供了两个可能的字符串,"true""false"。由于在 PHP 中 "false"== true 是正确的行为(因为非空字符串的计算结果为 true),因此您需要与字符串值进行比较:

if ($row['check'] == "true") {

关于php mysql 信息检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com