Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysqli_自动提交、mysqli_提交和mysqli_回滚是否同步?_Php_Mysql_Mysqli - Fatal编程技术网

Php mysqli_自动提交、mysqli_提交和mysqli_回滚是否同步?

Php mysqli_自动提交、mysqli_提交和mysqli_回滚是否同步?,php,mysql,mysqli,Php,Mysql,Mysqli,我的意思是如果我用php创建一个动态网页。如果用户输入“1”,则如果用户输入“0”,将运行多个查询,仅运行单个查询。对于多个查询,我需要使用自动提交、回滚和提交,这样,如果一个查询失败,所有查询都将回滚。对于单个查询,我不需要这些函数 我的问题是,如果一台电脑的用户1输入“1”,而另一台电脑的用户2输入“0”。由于user1输入了“1”,autocommit将为false。这会影响用户2吗 回滚和提交也是如此。如果user1查询失败,它会调用回滚,这会影响user2查询吗 请帮助我,我不熟悉这个

我的意思是如果我用php创建一个动态网页。如果用户输入“1”,则如果用户输入“0”,将运行多个查询,仅运行单个查询。对于多个查询,我需要使用自动提交、回滚和提交,这样,如果一个查询失败,所有查询都将回滚。对于单个查询,我不需要这些函数

我的问题是,如果一台电脑的用户1输入“1”,而另一台电脑的用户2输入“0”。由于user1输入了“1”,autocommit将为false。这会影响用户2吗

回滚和提交也是如此。如果user1查询失败,它会调用回滚,这会影响user2查询吗


请帮助我,我不熟悉这个概念。

每个连接都被视为一个单独的实体或会话,无论是相同的登录信息还是不同的mysql用户。使用begin_transaction启动事务时,它仅为该会话设置事务模式。User1和User2尽管通过PHP使用相同的信息登录,但被视为单独的会话


mysqli\u autocommit()、mysqli\u commit和mysqli\u rollback也是这样,对吗?我的意思是,这不会永久性地将数据库的autocommit更改为false-rightCorrect,实际上它适用于任何mysqli/PDO命令,甚至直接的mysql连接。例如,我有一个创建临时表的脚本,其名称基于我传递给脚本的标志。因此,如果我同时启动一个带有两个不同标志的脚本,则使用flag1运行的脚本无法访问由使用flag2运行的脚本创建的临时表。有点疑问,最终会创建两个表,对吗?是的,但它们是临时表。它们只在会话存在时才存在,直到创建会话的会话存在为止。会话结束后,临时表将消失。