问题标签 [mysqli-multi-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1703 浏览

php - mysqli_multi_query 多次插入失败

您好,我遇到以下问题:

当我尝试使用 mysqli_multi_query 函数执行几个 INSERT INTO 查询时,它们都没有被执行,并且我收到一个标准的“您的 SQL 语法有错误”错误,但是当我采用完全相同的字符串时,我传递给了函数和粘贴到 PHPMyAdmin 并执行它,它可以完美运行!

以下是我尝试执行的查询:

它们位于单个字符串中,分号后用空格分隔。

这是我在代码中所做的:

执行此代码会导致:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'INSERT INTO production VALUES(120, 107, 5, 1, 0) 附近使用的正确语法;在第 1 行插入生产价值'

字符串(210)“插入生产值(120、103、10、0、0);插入生产值(120、107、5、1、0);插入生产值(120、106、7、2, 0 ); 插入生产值( 120, 103, 20, 0, 1 ); "

布尔(假)

如果您想自己测试此行为,请参阅production下表:

我是否忽略了某些东西,或者这只是奇怪的行为?

0 投票
3 回答
9809 浏览

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

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

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

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

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

0 投票
6 回答
21347 浏览

php - 无法弄清楚如何运行 mysqli_multi_query 并使用上次查询的结果

我以前从未使用过 mysqli_multi_query ,这让我感到难以置信,我在网上找到的任何示例都无法帮助我弄清楚我想要做什么。

这是我的代码:

我要做的就是运行多个查询,然后使用这 4 个查询的最终结果并将它们放入我的表中。

上面的代码根本不起作用,我只是收到以下错误:

警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,布尔值在 C:\xampp\htdocs\hydroboard\hydro_reporting_2010.php 第 391 行给出

有什么帮助吗?

0 投票
1 回答
963 浏览

php - 为什么 mysqli::multi_query 在一定数量的行后停止?

我正在尝试使用 multi_query 在表上运行相当大量的更新/插入。总共有约 14,000 个查询,但该函数仅执行约 480 个,然后它停止而没有错误,PHP 继续执行脚本,超出以下片段:

0 投票
3 回答
9978 浏览

php - “命令不同步;您现在无法运行此命令” - 由 mysqli::multi_query 引起

我正在运行多个删除mysqli::multi_query,它正在搞乱下一个查询。抛出以下错误。

我是否需要以某种方式清除多查询,以免与我的下一个查询混淆?这个错误的原因是什么?

这就是我运行多查询的方式:

我在 Windows 7 上使用最新版本的 Xampp

0 投票
1 回答
2662 浏览

php - PHP mysqli_multi_query large insert issue

I've tried many ways in an attempt to insert a large amount of data parsed from a text file (200,000 lines of text gets parsed into the array in about 2 seconds on my server so I know that part isn't the issue). The mysqli_multi_query I'm using sends the queries in blocks of 5,000 (for some reason it refuses to do anything larger if I want to use multi_query more then once) OR if I split the text file down to 50,000ish rows I can insert them all at once in 2 seconds. If I do that then it refuses to run another query (I did read I need to do while (mysqli_more_results($db) && mysqli_next_result($db)); to clear the results out and I do have that for my 5,000 split one)

The 50,000 insert one runs in 2 seconds, the 5,000 insert one (of 50,000 rows) takes 40 seconds, I'm kind of tempted to just create a new mysqli connection in the foreach (for 50,000 inserts), but it doesn't always work...

I'd like some tips on how to make my function run faster since 40 seconds to insert all 50,000 takes forever when the file I'm reading from can contain sever hundred thousand possibly millions of lines

}

Is what I've come up with (always works but like I said is slow), any tips on how I can improve it?

0 投票
3 回答
6096 浏览

php - PHP/mysqli - 准备好的语句(在循环中)或 multi_query

我刚刚从使用 mysql 转移到 PHP 中的 mysqli 扩展。

我遇到了两种做同一件事的方法(多个更新查询),每种方法的优缺点是什么?我应该完全使用其中一个还是其他什么?

循环中的准备语句:

或者

多查询:

我知道准备好的语句提供了更好的安全性。在 PHP 中使用 mysql 时,我听说最好避免在循环中使用 UPDATE 语句 - 在循环中执行 mysqli 准备好的语句不是用另一个名称来做同样的事情吗?

0 投票
1 回答
628 浏览

mysqli-multi-query - MYSQL 从所有数据库中选择 tableX

假设我有 50 个数据库,它们都有相同的模式并且都有表“plays”。

有没有可能一次从所有数据库中选择表“plays”中的所有数据?

如果我不知道我有多少个数据库,有什么办法可以做到这一点?

目前我会这样做:

有没有办法为此编写更少的代码?

问候

0 投票
3 回答
17233 浏览

mysqli-multi-query - 子句之间的多个 MySql WHERE

新手 MySql 程序员感谢您的耐心。

我试图在满足 3 个不同条件的表中跟踪 ID 号,这就是 Iv 得到的结果,但是查询会返回表中明显匹配的任何结果。想法?

我在理论上认为这应该有效吗?

0 投票
1 回答
788 浏览

php - PHP mysqli 多查询空结果

我使用 mysqli 多查询在一个大块中进行一些插入和更新,而不是在大量单独的查询中进行,基本上我不关心结果,即使它是一个错误并且我在 PHP.net 文档页面上阅读对于 multi_query 函数,我可以使用它:

浏览结果,以便我可以执行更多查询。但是这里的问题似乎是,如果我替换 ; ,那么每个循环都需要永远运行。每个下一个被回响之间大约有echo "Next";半秒的时间。

有什么办法可以加快速度,或者清空结果或其他什么?