php - mysql只有在php执行时才会出现语法错误

标签 php mysql

我收到了这个请求:

"START TRANSACTION; DELETE FROM `awaiting_auth` WHERE `code` = '06b8465eed00727a1eac49fae89b88f876ded2eb' LIMIT 1; INSERT IGNORE INTO `prsn` SET `login` = 'new_user', `passwd` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef', `color` = '#cbc5f2'; 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 'DELETE FROM awaiting_auth WHERE code = '06b8465eed00727a1eac49fae89b88f876de' at line 1".

然而,当通过终端执行 sql 时一切顺利,没有抛出任何错误。
我的请求有什么问题?提前致谢。

最佳答案

您必须将查询拆分为单独的 ->query() 调用。 SQL 控制台会自动执行此操作。例如

->query("START TRANSACTION");
->query("DELETE FROM...");

关于php - mysql只有在php执行时才会出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18185410/

相关文章:

php - 如何在方框下方显示时间和日期,例如 facebook 或 wordpress 帖子?

javascript - jQuery AJAX : unexpected end of input

php - 使用 Point 类型的 PHPUnit/CakePHP Fixtures

MySQL 查询忽略 where 子句的索引

php - Mysql用join和where子句降序计数,两个表,限制吗?

php - 事件记录 codeigniter 2 选择

javascript - 加快网站从客户端浏览器到服务器的多张图片上传

mysql - WordPress 数据库 : How to remove a word from all posts

PHP - 如何从 MySQL 查询中获取所有行

跨多个表的 MySQL 唯一标识