(PHP 5, PHP 7, PHP 8)
mysqli::kill -- mysqli_kill — 要求伺服器終止一個 MySQL 執行緒
此函式自 PHP 8.4.0 起已遭 *_棄用_*. 強烈建議不要依賴此函式。
物件導向風格
程序風格
此函數用於要求伺服器終止由 process_id
參數指定的 MySQL 執行緒。此值必須透過呼叫 mysqli_thread_id() 函數來取得。
要停止正在執行的查詢,您應該使用 SQL 指令 KILL QUERY processid
。
如果啟用了 mysqli 錯誤報告 (MYSQLI_REPORT_ERROR
) 且請求的操作失敗,則會產生警告。此外,如果模式設定為 MYSQLI_REPORT_STRICT
,則會改為拋出 mysqli_sql_exception。
版本 | 說明 |
---|---|
8.4.0 | mysqli::kill() 和 mysqli_kill() 現已棄用。請改用 KILL SQL 指令。 |
範例 #1 mysqli::kill() 範例
物件導向風格
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* 檢查連線 */
if (mysqli_connect_errno()) {
printf("連線失敗: %s\n", mysqli_connect_error());
exit();
}
/* 判斷目前的執行緒 ID */
$thread_id = $mysqli->thread_id;
/* 終止連線 */
$mysqli->kill($thread_id);
/* 這應該會產生錯誤 */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
printf("錯誤: %s\n", $mysqli->error);
exit;
}
/* 關閉連線 */
$mysqli->close();
?>
程序風格
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* 檢查連線 */
if (mysqli_connect_errno()) {
printf("連線失敗: %s\n", mysqli_connect_error());
exit();
}
/* 判斷目前的執行緒 ID */
$thread_id = mysqli_thread_id($link);
/* 終止連線 */
mysqli_kill($link, $thread_id);
/* 這應該會產生錯誤 */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
printf("錯誤: %s\n", mysqli_error($link));
exit;
}
/* 關閉連線 */
mysqli_close($link);
?>
以上範例會輸出
Error: MySQL server has gone away