0 php mysql prepared-statement
我发现我无法在表锁下执行准备的声明中,页面锁定了,就好像在命令正在等待释放,我不得不手动杀死锁.
这只是一个示例:
mysql_query("LOCK TABLE TBL WRITE");
$stmt = $mysqli->prepare("INSERT INTO TBL (ID) VALUES (?)");
$stmt->bind_param("i", $nextID);
$stmt->execute();
mysql_query("UNLOCK TABLES");
Run Code Online (Sandbox Code Playgroud)
有没有理由这样的情况?在介绍准备好的语句之前,它没有锁的执行效果很好.
这仅用于学习目的,所以请不要评论为什么需要锁定和自动增加ID的:)
谢谢.
mysql_query 但 $mysqli->prepare
您将表格锁定在已建立的连接中,mysql_connect
难怪表格被锁定在所有其他连接中,包括由mysqli创建的连接.