gpt4 book ai didi

php - PDO非锁定查询: possible?

转载 作者:行者123 更新时间:2023-11-29 19:45:36 25 4
gpt4 key购买 nike

我目前正在请求 MySQL 数据库使用 PDO 计算一些计数和总和。这个过程可能需要一段时间,如果用户突然想浏览另一个页面,他可能会停留在浏览器前面。

我试图弄清楚是否可以使用 PDO 启动 MySQL 查询,进入循环直到查询结果可用或用户离开页面(connection_aborted() ),如果用户仍然连接,最后发送结果,否则中止 MySQL 查询。它会是这样的:

<?php

$objPDOStatement = $objPDO->prepare("
SELECT count(*)
FROM my_huge_table
WHERE <<complex_condition>>
");

$objPDOStatement->execute($arrParameters);

while (
(connection_aborted() == 0)
&& (! $objPDOStatement->resultsAvailable()
) {
usleep(10000);
}

if (connection_aborted() == 0) {
echo "RESULTS";
} else {
$objPDOStatement->cancel();
}

这可能吗?如果是这样,怎么办?我想这样做是为了用户不必等待网络服务器(php)完成当前的脚本/页面,即。如果最终没有使用这些结果,则不要等待 MySQL 返回结果,然后再提供下一个请求的脚本/页面。

谢谢。

最佳答案

异步查询仅在 mysqli 中可用,但在 PDO 中不可用。

但是,您通常只需通过 AJAX 调用即可实现。

关于php - PDO非锁定查询: possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41012651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com