我收到了这个请求:
"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/