检查数据库中的变量是否为空


Check if Variable from Database blank

我的最终目的是在我的网站上为新的附属用户显示一个待办事项列表(访问某些教学页面等)。当用户访问特定页面时,它将使用该特定页面的访问时间戳更新DB。我遇到的问题是,如果特定的"待办事项"任务已经完成,如何准确显示。

我将变量$todo1设置为列表中的第一个任务。

$todo1 = mysql_query("SELECT todo_introvideo FROM users WHERE user_name='$loggedInUser->username'");

然后。。。

if (empty($todo1)) 
{ 
   echo "<img name='check' style='width:20px;' src='images/unchecked.jgp' />"; 
} 
else {
    echo "<img style='width:20px;' src='images/checked.jpg'";}

我确信问题是,我用查询文本本身而不是查询结果设置$todo1,因为无论todo_introvideo中是否有值,它都会返回checked.jpg。

请帮我解释一下我做错了什么。

你能试试这样的东西吗:

<?php
$todoTask = mysql_query("SELECT todo_introvideo FROM users WHERE user_name='$loggedInUser->username'");
if (mysql_num_rows($todoTask)>0) 
{ 
    echo "<img style='width:20px;' src='images/checked.jpg'";
}else{
    echo "<img name='check' style='width:20px;' src='images/unchecked.jgp' />"; 
}
?>

根据您的查询

$todo1 = mysql_query("SELECT todo_introvideo FROM users WHERE user_name='$loggedInUser->username'");

无论生成的结果是FALSE,这就是为什么其他部分正在执行以显示checked.jpg。这可能是因为根据代码中的where条件没有行匹配。确保$loggedInUser->username在数据库中运行良好,即用户名存在。此外,您还在代码中使用empty()

它确定一个变量是否被认为是空的。一个变量如果不存在或其值等于FALSE,则视为空。如果变量不存在,empty()不会生成警告。

根据您的要求检查是否正常工作。要了解有关empty()的更多信息,请单击此处

使用如下:$num_rows=mysql_num_rows($todo1);

if ($num_rows>0) 
{ 
  echo "<img name='check' style='width:20px;' src='images/unchecked.jgp'/>"; 
} 
else {
    echo "<img style='width:20px;' src='images/checked.jpg'";
}