【问题标题】:SQL update not committedSQL 更新未提交
【发布时间】: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,我想知道我做错了什么以及为什么我的用户表中的列服务器没有更新,如果我只为这个输入一个值,而将另外两个留空跨度>

标签: mysql commit


【解决方案1】:

在你的代码中你不能直接得到这个

$endplan_date=$dbarray['end_plan_date'];

为了获取这个变量,你必须使用 while 循环

while($dbarray = mysql_fetch_array($result);) {

   $endplan_date=$dbarray['end_plan_date'];
}

【讨论】:

  • 您好,Jivani,感谢您这样做并不能解决我的问题。我仍然必须输入 $subamt 或 $subday 才能更新 $server。
【解决方案2】:

调用此函数时出现问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    • 2022-12-30
    • 1970-01-01
    相关资源
    最近更新 更多