多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## PDO 介绍 事务四大特性(ACID):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability)。 在一个事务中执行的任何操作,即使是分阶段执行的,也能保证安全地应用于数据库,并在提交时不会受到来自其他连接的干扰。事务操作也可以根据请求自动撤销(假设还没有提交),这使得在脚本中处理错误更加容易。 ``` <?php try { $pdo = new PDO('mysql:host=localhost;dbname=koogua_forum', 'root', '123456'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "Connect Failed: " . $e->getMessage(); } try { $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); $stmt = $pdo->prepare("INSERT INTO TagWatch (userId, tagId) VALUES (:userId, :tagId)"); $stmt->bindValue(':userId', 1, PDO::PARAM_INT); $stmt->bindValue(':tagId', 1, PDO::PARAM_INT); $stmt->execute(); $stmt = $pdo->prepare("UPDATE Tag SET watchCount = watchCount + 1 WHERE id = :id"); $stmt->bindValue(':id', 1, PDO::PARAM_INT); $stmt->execute(); $pdo->commit(); } catch (PDOException $e) { $pdo->rollBack(); echo "Commit Failed: " . $e->getMessage(); } ?> ``` 参考链接:[PDO 事务处理](http://php.net/manual/zh/pdo.transactions.php)