【问题标题】:How to send a SQL query to database in PHP without waiting for result如何在不等待结果的情况下将 SQL 查询发送到 PHP 中的数据库
【发布时间】:2010-12-03 16:04:11
【问题描述】:

使用 DB2 和 PHP,我的 ADD 和 DROP 需要很长时间才能完成(每个 ADD 和 DROP 30 秒)。我很好奇是否有一种方法可以在不让 PHP 等待响应的情况下将我的 ADD 和 DROP 发送到数据库?

【问题讨论】:

  • 使用类似的东西 - w3schools.com/ajax/default.asp - 异步调用脚本。
  • @Dai - 最好将其发布为答案。
  • @Dai - 我可能会选择你的答案,因为这就是我想做的事情。

标签: php sql db2 ibm-midrange


【解决方案1】:

我相当肯定大多数 php db 控件没有异步方法(太糟糕了)。假设您只需要执行不与最终用户交互的数据库语句,您可以使用pcntl_fork。如果您需要其他东西,this 之类的解决方案可能会更有用。

【讨论】:

  • 我喜欢那个链接,但我认为你是对的......如果我要保留这个纯 PHP,我需要分叉它。
【解决方案2】:

一个简单的解决方案是 cron 来安排你的任务

http://articles.sitepoint.com/article/introducing-cron

将所有要运行的 sql 脚本安排在预定的时间。

【讨论】:

    【解决方案3】:

    您可以编写一个“独立”的 php 脚本并使用“系统”调用将其启动。

    您唯一的问题是如何将数据传递给脚本。我建议您创建一个中间“操作”表,您可以在其中插入所需的更新并让批处理脚本读取操作并应用更新。

    如果您安装了 DB2,您可能也安装了 MQ。如果这样做,您可以查看一个解决方案,将更新请求推送到 MQ 队列中并让它们由触发的程序执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多