PHP Conference Japan 2024

mysqli::kill

mysqli_kill

(PHP 5, PHP 7, PHP 8)

mysqli::kill -- mysqli_kill要求伺服器終止一個 MySQL 執行緒

警告

此函式自 PHP 8.4.0 起已遭 *_棄用_*. 強烈建議不要依賴此函式。

說明

物件導向風格

#[\Deprecated]
public mysqli::kill(int $process_id): bool

程序風格

#[\Deprecated]
mysqli_kill(mysqli $mysql, int $process_id): bool

此函數用於要求伺服器終止由 process_id 參數指定的 MySQL 執行緒。此值必須透過呼叫 mysqli_thread_id() 函數來取得。

要停止正在執行的查詢,您應該使用 SQL 指令 KILL QUERY processid

參數

mysql

僅限程序風格:由 mysqli_connect()mysqli_init() 返回的 mysqli 物件

返回值

成功時返回 true,失敗時返回 false

錯誤/例外

如果啟用了 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

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top