endTime是datetime类型的,用来存放会员到期时间。
userID是会员ID号主键
我想批量给未到期的会员加时间。
代码该怎么写啊?
*********************************
user_data 用户信息表
--------------------
userID-----会员用户编号
userNO-----会员用户帐号
userPW-----会员用户密码(MD5)
regTime-----会员注册时间
endTime-----会员到期时间
********************************if(isset($_POST['time']))
{
  $time = $_POST['time'];
  $result = mysql_query("SELECT `userID` FROM `user_data` where `endTime`> NOW()");
  $count = 0;
  $countf = 0;
  while($row = mysql_fetch_array($result))
{
$userID = $row['userID'];
$sql = "UPDATE `user_data`
SET `endTime` = dateadd(day,$time,endTime)
where `userID` = '$userID'";
if(mysql_query($sql,$con))
  $count++;
else
  $countf++;
}
  echo "已给" . $count . "用户增加了时间! " . "失败" . $countf;
}

解决方案 »

  1.   

    $_POST['time']值是什么,要增加的天数吗?PHP报什么错误信息?
      

  2.   

    $_POST['time']是要增加的天数
    我的SQL语句不正确
    $sql = "UPDATE `user_data`
    SET `endTime` = dateadd(day,$time,endTime)
    where `userID` = '$userID'";
    这句
      

  3.   

    SET `endTime` = dateadd(day,$time,endTime)我想在原本的时间上加$time天
      

  4.   

    if (isset($_POST['time'])) {
    $time = $_POST['time'];
    if (mysql_query("UPDATE `user_data` SET `endTime` = DATE_ADD(`endTime`, INTERVAL {$time} DAY) WHERE `endTime` > NOW()")) {
    echo "已给".mysql_affected_rows()."用户增加了时间!";
    }
    else die(mysql_error());
    }
      

  5.   

    不知道怎么回事 DATE_ADD(`endTime`, INTERVAL {$time} DAY) 中
    endTime不能被引起来
    DATE_ADD(endTime, INTERVAL {$time} DAY)这样才行感谢T5500的帮助