PHP - mysql与mysqli事务使用说明

发布于:2022-10-13 ⋅ 阅读:(411) ⋅ 点赞:(0)

1.应用场景

主要用于对数据库进行事务操作,完成相关入库操作~

流程
导入:ini->1.json->parseJsonTemp->mysql  // 如果写入数据库过程中失败,再回滚!
导出:ini<-1.json<-parseJsonTemp<-mysql

2.学习/操作

1. 文档阅读

MySQL - 事务 - ACID的原理_穿素白衫的中少年的博客-CSDN博客 // MySQL - 事务 - ACID的原理

https://www.jb51.net/article/40656.htm

PHP - PDO - 学习/实践_穿素白衫的中少年的博客-CSDN博客 // PHP - PDO - 学习/实践

mysqli: 安装 - Manual -- 官方文档 - 建议阅读

2. 整理输出

插入

mysqli扩展在PHP5.0.0中被引入。Mysql Native驱动在PHP5.3.0版本中被引入。「扩展与驱动」

请注意Mysql扩展和客户端库是可以自由混合的。「客户端与扩展?TBD

比如,可以使用libmysql这个mysql客户端库来启用Mysql扩展,使用 Mysql Native Driver来配置mysqli扩展。

所有的扩展和客户端库的顺序都是可能的。

下面的示例使用Mysql Client Library(libmysql)构建了mysql扩展,并且mysqli和 PDO Mysql扩展使用Mysql Native Dirver(作为客户端库):

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
[other options]

2.1 简单用法

$sql1 = "update User set ScoreCount = ScoreCount +10 where ID= '123456'";
$sql2 = "update ScoreDetail set FScore = 300 where ID= '123456'";
$sql3 = "insert into  ScoreDetail ID, Score) values ('123456', 60)";

$mysqli = new mysqli('localhost','root','','DB_Lib2Test'); // 即需要安装php-mysqli扩展
$mysqli->autocommit(false); // 开始事务?
$mysqli->query($sql1);
$mysqli->query($sql2);
if (!$mysqli->errno) {
    $mysqli->commit(); // 提交事务
    echo 'ok';
} else {
   echo 'err';
   $mysqli->rollback(); // 失败回滚
}

推荐使用PDO来做~

...

3.问题/补充

TBD

4.参考

参见文档阅读列表

后续补充

...

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到