PHP事务查询MySQL表code中zt等于1的值并修改,行锁防止重复读取
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die('连接失败: ' . $conn->connect_error);
}
// 开启事务
$conn->autocommit(FALSE);
$sql = 'SELECT * FROM code WHERE zt=1 FOR UPDATE';
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
// 修改zt值
$sql2 = 'UPDATE code SET zt=2 WHERE id=' . $row['id'];
$conn->query($sql2);
}
} else {
echo '0 结果';
}
// 提交事务
$conn->commit();
$conn->close();
原文地址: https://www.cveoy.top/t/topic/lhtf 著作权归作者所有。请勿转载和采集!