我希望用我的php脚本锁定mysql表,以便在原始脚本解锁表之前,不允许试图在该表上执行写查询的其他脚本继续运行。
怎么做?(希望有一些失败的安全方法)。
我试过了,但没用:
test1.php
<?php
include 'init.php';
$q = "LOCK TABLE vars WRITE";
mysql_query($q);
echo "Table locked for writing (you wish)\n";
sleep(10);
$q = "UNLOCK TABLE vars";
mysql_query($q);
?>
test2.php
<?php
include 'init.php';
$q = "INSERT INTO vars VALUES ('test', '2016-01-01 00:00:00')";
$rows = mysql_query($q);
echo "Done!";
?>发布于 2015-09-12 05:06:38
测试示例实际上可以按需要工作-我只需要正确配置运行这些脚本的mysql的权限。有关的mysql用户没有锁表特权,test1.php中的第一条语句实际上引发了一条我没有检查的无声错误消息。
https://stackoverflow.com/questions/32480842
复制相似问题