MySQL无法使用Mysqli锁定表

时间:2018-12-29 08:59:42

标签: php mysql localhost

我想使用用户锁定名为person的表。我正在使用PHP和MySQL。但是,当我执行程序并在命令提示符下使用MySQL检查show open tables时,表的In_Use字段仍为0。这是我的密码

<?php
session_start();
$username = $_SESSION['username'];
$pass = $_SESSION['pass'];
$hostname = gethostname();
$host = gethostbyname($hostname);
$db = "tugas";

$conn = mysqli_connect($host, $username, $pass, $db);

// check if the table have a lock
$sql = mysqli_query($conn, "SHOW OPEN TABLES;");
while($data = mysqli_fetch_array($sql)){
    if($data['Table'] == "person" && $data['In_use'] > 0){ //locked
        echo '<script language="javascript">';
        echo 'alert("Table is in use");
                window.location.href="view.php";';
        echo '</script>';
        die();
    }
}

$query = "LOCK TABLE PERSON READ";
$sql = mysqli_query($conn, $query);
?>

但是当我通过CMD并使用root使用相同的命令锁定表时,它可以工作。 MySQL引擎是MariaDB。

0 个答案:

没有答案