Delete函数在事务pdo php mysql中不起作用
我和这位同事有类似的问题: 我感到惊讶的是,pdo事务中的Delete函数不能正常工作。如果我在pdo中单独使用delete函数,它会工作得很好,但是当我在事务中将delete函数与update函数结合使用时,它会停止工作(只有第一个查询工作)。我已经尝试了所有的答案和提示从旧线程,但似乎没有任何工作。有人能帮我吗 我正在使用的代码:Delete函数在事务pdo php mysql中不起作用,php,mysql,pdo,Php,Mysql,Pdo,我和这位同事有类似的问题: 我感到惊讶的是,pdo事务中的Delete函数不能正常工作。如果我在pdo中单独使用delete函数,它会工作得很好,但是当我在事务中将delete函数与update函数结合使用时,它会停止工作(只有第一个查询工作)。我已经尝试了所有的答案和提示从旧线程,但似乎没有任何工作。有人能帮我吗 我正在使用的代码: function denyactionevent(){ try { $$this->setAttribute(P
function denyactionevent(){
try {
$$this->setAttribute(PDO::ATTR_AUTOCOMMIT, true);
$$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->conn->beginTransaction();
// product update query
$query = "UPDATE
" . $this->table_name . "
SET
accepted = :accepted
WHERE
id = :id";
// prepare query statement
$stmt = $this->conn->prepare($query);
// bind variable values
$stmt->bindParam(':accepted', $this->accepted);
$stmt->bindParam(':id', $this->id);
// execute the query
$stmt->execute();
$query2 = "DELETE
FROM event_case
WHERE reference = :id
";
// prepare query statement
$stmt = $this->conn->prepare($query2);
// bind values
$stmt->bindParam(':id', $this->id);
// execute the query
$stmt->execute();
$this->conn->commit();
return true;
} catch (Exception $e) {
$stmt->rollBack();
return false;
}
}
这可能取决于您调用该函数的方式(未知)以及变量范围是否存在问题。情况似乎并非如此,因为该事务中的第一个查询似乎工作正常。
$$this->setAttribute
-这不是太多了吗?@VolkerK错误报告会捕捉到这一点吗?“错误报告会捕捉到吗?”-它会导致致命错误“可捕捉致命错误:类的对象…”。。。无法转换为…@Fred