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

时间:2015-03-26 16:00:23

标签: php database is-empty

我的终极游戏是为我网站上的新联盟用户显示待办事项列表(访问某些教学页面等)。当用户访问特定页面时,它将使用该特定页面的访问时间戳更新数据库。 我遇到问题的地方是,如果特定的“待办事项”任务已经完成,可以准确地显示它。

我设置变量$ 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。

请帮助解释我做错了什么。

3 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情:

<?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' />"; 
}
?>

答案 1 :(得分:0)

根据您的查询

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

生成的结果 FALSE 总是这就是为什么其他部分正在执行以显示 checked.jpg 。可能是因为根据代码中的 where 条件没有行匹配。确保 $ loggedInUser-&gt;用户名在您的数据库中正常工作,即存在用户名。 您还在代码中使用 empty()

  

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

根据您的要求检查是否正常。要了解有关空()的更多信息,请点击here

答案 2 :(得分:0)

使用方法如下: $ 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'";
}