简体   繁体   English

mysqli查询获取语法错误,但phpmyadmin有效

[英]mysqli query gets syntax error but phpmyadmin works

While the following query works with phpmyadmin, when I use mysqli->query(), a syntax error occurs 当以下查询与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;

The syntax error message: 语法错误消息:

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

Is it that mysqli prepares the query and adds something in? 是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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM