【发布时间】:2015-01-28 08:11:55
【问题描述】:
我遇到了一个奇怪的问题,但我不明白发生了什么。我创建了一个函数来更新表(用户)中的最多三列(end_plan_date、余额和服务器)并在另一个表中插入 2 个。
由于某种原因,我的最后一次更新(用户表的列服务器)未提交($query = mysql_query("UPDATE user SET server='$serv' WHERE email='$submail'"); ),除非我为其他两个值($subamt 或 $subday)中的至少一个指定一个值。
你知道为什么这个查询没有用我解析的服务器值更新用户表吗?
function addBalance($subamail, $subamt,$subday,$userid,$serv) {
$q = "SELECT * FROM user WHERE email = '$subemail'";
$result = mysql_query($q, $this->connection);
$dbarray = mysql_fetch_array($result);
$endplan_date=$dbarray['end_plan_date'];
if($subday >0){
if($endplan_date=="0000-00-00" ){
$endplan_date = date('Y-m-d');
$new_endplan_date = date('Y-m-d',strtotime($endplan_date . "+".$subday." days"));
}else{
$new_endplan_date = date('Y-m-d',strtotime($endplan_date . "+".$subday." days"));
}
$query = mysql_query("UPDATE user SET end_plan_date='$new_endplan_date' WHERE email='$subemail'");
$recdate=gmdate('Y-m-d H:i:s');
$q = "INSERT INTO com_gest(recdate,userid,type,recvalue) VALUES ('$recdate','$userid','Plan Date','$subday')";
mysql_query($q, $this->connection);
}
if($subamt >0){
$query = mysql_query("UPDATE user SET balance=balance+".$subamt." WHERE email='$subemail'");
$recdate=gmdate('Y-m-d H:i:s');
$q = "INSERT INTO com_gest(recdate,userid,type,recvalue) VALUES '$recdate','$userid','Balance','$subamt')";
mysql_query($q, $this->connection);
}
$query = mysql_query("UPDATE user SET server='$serv' WHERE email='$subemail'");
return 0;
}
【问题讨论】:
-
您想回答什么问题?
-
嗨 jerdiggity,我想知道我做错了什么以及为什么我的用户表中的列服务器没有更新,如果我只为这个输入一个值,而将另外两个留空跨度>