php - 如何使用mysqli->multi_query()?

标签 php mysql mysqli mysqli-multi-query

谁能告诉我如何使用 mysqli->multi_query() 在单个连接上执行多个更新/插入查询?谢谢。

我确实遵循了 PHP 手册中的教程。但我有一些问题。

我的一批查询有 5 个用分号分隔的语句。

UPDATE scenes set UserID = '11111111' WHERE ID = '031DFDAD92F6F4AB64AF317C06D64089DF119EC2';

INSERT INTO surfaces (ID, Name, SceneID, SurfaceTypeID, Color) VALUES('5F9A7301C2D398C4D1B90BA5AA56A9DED3FAA639', 'front ', '031DFDAD92F6F4AB64AF317C06D64089DF119EC2', 1, 11432044);

INSERT INTO regions (ID, SurfaceID, x, y, width, height, RegionMovieClip) VALUES('864406A2CB30CFBE846ED7B0B08A79BD5605037D', '5F9A7301C2D398C4D1B90BA5AA56A9DED3FAA639', 375, 22, 104, 125, 'asdasdcvxcv');

INSERT INTO surfaces (ID, Name, SceneID, SurfaceTypeID, Color) VALUES('1FCA2131ED1B89206E4E66DBE20D8D09513FF39D', 'floor ', '031DFDAD92F6F4AB64AF317C06D64089DF119EC2', 1, 7318465);

INSERT INTO regions (ID, SurfaceID, x, y, width, height, RegionMovieClip) VALUES('DBD0E85EAEE2685E2AEC590C8CA214C3C5653971', '1FCA2131ED1B89206E4E66DBE20D8D09513FF39D', 272, 288, 114, 89, 'asdasd')

除第三个查询外,所有查询均已执行。这就是我迷路的地方。如果插入第三个查询时出现 sql 错误,我该如何获取它?第三个失败之后的查询是如何执行的?

最佳答案

这些示例并没有真正展示如何处理错误。

执行将在第一次失败后停止。

使用mysqli_error()获取错误信息。

mysqli_use_result() 如果发生错误,则返回 false - 如果计算结果但结果不够,则发生错误。

关于php - 如何使用mysqli->multi_query()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4534176/

相关文章:

php - 使用 Zend Framework 的热门开源项目

jquery - 如何对 2 个表使用 LIKE 查询?

php - SQL FORM 多个表 - 'left join' 与 ','

php - 无法在 Centos 上安装 php-mysqli 扩展

php - CDbCommand执行SQL语句失败: SQLSTATE[42000]:

javascript - Ajax 未提交给 PHP

php - 从一个表中选择所有行,并从另一表中为每一行选择一个特定值

mysql - 如何在文本文件中导出 MS Access 表

php - 设置时区问题

php - 如何通过 php 和 mysql 查询测试数据库是否为空?