mysqli::kill

mysqli_kill

(PHP 5, PHP 7, PHP 8)

mysqli::kill -- mysqli_kill请求服务器终止一个 MySQL 线程

描述

面向对象风格

public mysqli::kill(int $process_id): bool

过程式风格

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 而不是警告。

示例

示例 #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