【发布时间】:2016-02-26 12:17:11
【问题描述】:
我正在探索在 PHP 和 MySQLi 中设置超时/停止特定查询的可能性。
来自 php.net 的稍微修改的示例:
if ($stmt = $mysqli->prepare("INSERT NESTED MYSQL QUERY HERE.")) {
$stmt->bind_param("s", $city);
$stmt->execute();
$stmt->set_timeout("50000"); //hypothetical, will not work
$stmt->bind_result($district);
while($stmt->fetch()){
//to do
}
}
$mysqli->close();
这可能吗?
理想的实现:
- 在 PHP 代码中,而不是通过 MySQL 服务器的配置
- 只能对选定查询而非所有查询实施
- 在 MySQL 5.6 及更高版本上工作(至少)
- 可以通知最终用户,例如
该过程花费的时间比预期的要长。尝试将您的数据集拆分为 段。
【问题讨论】: