Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hủy truy vấn MySQL khi người dùng hủy bỏ

Đối với những người quan tâm, đây là những gì tôi đã sử dụng:

<?php
// Connection to query on
$query_con = mysqli_connect($host, $user, $password, $name, $port);

// Connection to kill on
$kill_con = mysqli_connect($host, $user, $password, $name, $port);

// Start the query
$query_con->query($slow_query, MYSQLI_ASYNC);

// Get the PID
$thread_id = $query_con->thread_id;

// Ignore user abort so we can kill the query
ignore_user_abort(true);

do  {
    // Poll MySQL
    $links = $errors = $reject = array($mysqli->mysqli);
    $poll = mysqli_poll($links, $errors, $reject, 0, 500000);

    // Check if the connection is aborted and the query was killed
    if (connection_aborted() && mysqli_kill($kill_con, $thread_id)) {
        die();
    }
} while (!$poll);

// Not aborted, so do stuff with the result
$result = $link->reap_async_query();
if (is_object($result)) {
    // Select
    while ($row = $result->fetch_object()) {
        var_dump($row);
    }
} else {
    // Insert/update/delete
    var_dump($result);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn để lấy các bản ghi cha với bản ghi con, theo sau là các bản ghi cha-con tiếp theo trong mysql

  2. Chỉ hiển thị ngày gần đây nhất từ ​​bảng MySQL đã tham gia

  3. Lỗi cú pháp PHP PDO hoặc vi phạm quyền truy cập:1064 khi chèn

  4. ERROR 1878 (HY000):Lỗi ghi tệp tạm thời

  5. Tìm cột có chứa một giá trị nhất định trong MySQL