虽然以下查询适用于 phpmyadmin,但当我使用 mysqli->query() 时,会发生语法错误
START TRANSACTION;
SELECT Value INTO @Increment FROM SystemConfiguration WHERE `Key` = 'POIncrement' FOR UPDATE;
UPDATE SystemConfiguration SET Value = Value + @Increment WHERE `Key` = 'POID';
COMMIT;
语法错误消息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT Value INTO @Increment FROM SystemConfiguration WHERE `Key` = 'POIncrement' at line 2
是 mysqli 准备查询并添加一些内容吗?
最佳答案
$sql = <<<SQL
START TRANSACTION;
SELECT Value
INTO @Increment
FROM SystemConfiguration
WHERE `Key` = 'POIncrement' FOR UPDATE;
UPDATE SystemConfiguration
SET Value = Value + @Increment
WHERE `Key` = 'POID';
COMMIT;
SQL;
$res = mysqli_multi_query($connection, $sql);
关于php - mysqli 查询出现语法错误,但 phpmyadmin 可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407525/