我想检索这些值,如果TRUE显示图片,如果为false,则不显示。因此,在与dbase连接并运行成功查询后,返回其他文本值时,我写了......
if ($row['email'] == TRUE)
{
echo "<img src='images/email.png'>";
}
或者代替TRUE,我试过1,'1'“1”'TRUE'等。
如果我只是回显$ row('email'),我得到1.但是,上面的逻辑不起作用。条件永远不会意味着图像永远不会显示。我尝试用它来扭转它!=但仍然无法使它工作。根据我的阅读,MYSQL中的布尔值可能有点不稳定,但这看起来非常基本。
请注意。使用上面的代码,没有错误。它永远不会将括号中的语句评估为true来执行条件。可能是语法错误???或者我错过了什么。
感谢您的任何建议!
答案 0 :(得分:2)
如果我理解你的使用
if($row['email'] == 1){
echo "<img src='your-path.jpg'></img>";
}else{
// do nothing if false
}
答案 1 :(得分:2)
我决定选择Tiny(int)
这正是全世界数百万人所做的。
我认为True = 1且False = 0
这就是你应该如何解释它。
if ($row['email'] == TRUE)
不起作用
这应该绝对有效,可以通过以下方式进行测试:
$row['email'] = '1';
echo $row['email'] == true; // output: 1
仔细检查$ row的内容,即var_dump($row)
,以确保从数据库中正确收集数据。检查从数据库返回的任何错误。还要将PHP放在脚本顶部,检查PHP返回的错误:
ini_set('display_errors', 1);
error_reporting(E_ALL);
答案 2 :(得分:1)
我使用枚举,因为它们在某些情况下更具可读性;特别是在处理旧桌子时。
即,“isDeleted”的值可以是1/0或枚举,“是/否”甚至更好:“实时/已删除”。
所有三个都描述了相同的状态,但是最后一个例子更重要的是打击了你。
只有并发症正在输入它,但是,无论如何,布尔值都是HTML的祸根。 MySql查询保存是相当明智的:
mysql_query( sprintf(
"update table set isDeleted='%s' where id=3",
($myvalue === true ? 'Live' : 'Deleted')
));