【问题标题】:Is mysqli_multi_query the same as multiple calls to mysqli_query?mysqli_multi_query 是否与多次调用 mysqli_query 相同?
【发布时间】:2019-07-24 15:21:53
【问题描述】:

mysqli_multi_querymysqli_query 的文档没有说明调用mysqli_multi_query 是否与多次调用mysqli_query 相同。

有人知道答案吗?

【问题讨论】:

    标签: php mysqli mysqli-multi-query


    【解决方案1】:

    没有。 mysqli_multi_query 是异步的,它将所有查询发送到数据库服务器,但只立即返回第一个结果。因此,要检查所有其他查询的结果,您将需要一些额外的代码。而运行一组 mysql_query() 您不需要任何额外的代码,而只需立即使用每个查询的结果。

    也就是说,这两个函数的用途都非常有限。 mysqli_multi_query 的唯一应用是运行一些预先编写的 sql 转储。 mysql_query() 的用途也非常有限,因为没有那么多不接受可变数据的查询。对于此类查询,您必须改用 mysqli_prepare()

    【讨论】:

    • mysqli_query 在使用MYSQLI_ASYNC 调用时也是异步的。 mysqli_poll+mysqli_reap_async_query 返回的第一个结果是第一个准备好的。还为每个异步运行的查询提供控制,因为 thread_id 可用于每个查询。这会让 mysql_query 比 mysqli_multi_query 更好吗?
    • 我不明白您比较这些函数的标准,所以我无法判断。我只能告诉 mysqli_multi_query 将等待第一个查询结果,但异步 mysqli_query 不会。我不明白所有这些比较的想法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    相关资源
    最近更新 更多