我在几个执行我的查询的方法周围使用了 beginTransaction。但即使查询失败,它也会运行查询。有谁知道我的问题出在哪里?
我将干出我的代码只是为了展示基础知识:
方法:
public function __construct()
{
$this->core = db_core::getInstance();
}
function handle_item($action, $item_id)
{
switch($action) {
case 'add':
$this->core->conn->query("INSERT INTO ....");
break;
case 'remove':
$this->core->conn->query("DELETE FROM ....");
break;
}
}
开始交易
try
{
$this->core->conn->beginTransaction();
$this->handle_item("remove", $item_id);
$this->handle_item("add", $item_id);
$this->core->conn->commit();
catch (PDOException $e)
{
$this->core->conn->rollBack();
echo $e->getMessage();
}