PHP:如果正确更新数据库

时间:2012-12-09 13:47:25

标签: php sql if-statement sql-update joomla2.5

我开始编写一个脚本来检查用户在数据库中的注册日期,如果用户“过期”,脚本会阻止他访问该站点。脚本应该每天自动运行(cron作业?)并且每次都重复相同的过程。 不幸的是由于某种原因UPDATE功能不起作用,我不明白为什么。 提前谢谢!

代码:

// Connect to server and select databse.

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");


// To protect MySQL injection (more detail about MySQL injection)

$sql="  SELECT id, group_id, registerDate
    FROM w9phl_users
    INNER JOIN w9phl_user_usergroup_map ON w9phl_users.id = w9phl_user_usergroup_map.user_id
    WHERE registerDate < NOW( )
    AND group_id = 3 
    ";

$result=mysql_query($sql);

if (!$result) {
    die('Could not query:' . mysql_error());
}


while ($details = mysql_fetch_assoc($result)) {

if ($details['id'] > 904)

   {$sql=" UPDATE w9phl_users
        SET block=1 
        WHERE id > 904";
   }

else
  {
  echo "only IDs greater than 904 is permitted.";
  }     


}

1 个答案:

答案 0 :(得分:1)

您忘了运行查询。您刚刚将其保存在变量中,但未执行。

$sql = "UPDATE w9phl_users
        SET block=1 
        WHERE id > 904";
mysql_query($sql);