2015-11-24 123 views
1

我正在探索在PHP和MySQLi中設置超時/停止特定查詢的可能性。爲MySQLi查詢執行設置超時

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.net修改的例子嗎?

理想的實現:

  1. 裏面的PHP代碼,而不是通過MySQL服務器的配置
  2. 只能實現對於所選的查詢,而不是所有查詢
  3. 作品(至少)在MySQL 5.6並超出
  4. 可以通知最終用戶,例如

該過程耗時比預期的長。嘗試將你的數據集分割成 段。

+0

可能的重複:http://stackoverflow.com/questions/415905/how-to-set -a-mysql-query -a-maximum-execution-time-for-mysql-query – Rasclatt

回答