mysql - SQL 更新未提交

标签 mysql commit

我遇到了一个奇怪的问题,但我不明白发生了什么。我创建了一个函数来更新表(用户)中的最多三列(end_plan_date、balance 和服务器),并在另一个表中插入 2 个列。

由于某种原因,我最后一次更新(用户表的列服务器)没有提交($query = mysql_query("UPDATE user SET server='$serv' WHERE email='$subemail'"); ) 除非我至少给出另外两个值之一的值($subamt 或 $subday)。

你知道为什么这个查询没有用我解析的服务器值更新用户表吗?

函数 addBalance($subemail, $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;

最佳答案

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

$endplan_date=$dbarray['end_plan_date'];

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

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

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

关于mysql - SQL 更新未提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27209472/

相关文章:

MySQL 选择喜欢和

mysql - Logstash管道错误: error registering jdbc plugin

mysql - 如何修复 "No suitable driver found for jdbc:mysql://localhost:3306/emp"?

Git - 获取他们创建的所有提交和 blob

mysql - mysql中的Rollback、commit、begin规则什么时候使用?

git - 为什么 Git 即使在配置之后也不允许我提交?

SVN-如何一次提交多个文件

MySQL 排序规则不匹配

java - Spring Boot项目看不到数据库连接的数据,写在application.yml中

git - 如何将特定提交推送到远程,而不是之前的提交?