【发布时间】:2015-09-12 20:12:58
【问题描述】:
我似乎无法弄清楚问题所在。我对事务相当陌生,看来我需要一个来插入下一个自动递增的 ID。
这是查询:
START TRANSACTION;
INSERT INTO posts (title, text, user, club, time)
VALUES ('$title', '$text', '$name', '$club', '$time');
INSERT INTO post_likes (user, post)
VALUES ('$name', LAST_INSERT_ID());
COMMIT;
在 INSERT INTO 帖子之前,语法错误让我无法接受。
【问题讨论】:
-
PDO 一次只支持发出一条查询语句。
START/END TRANSACTION事件每个都算作一个语句,它会报告一个语法错误。使用$pdo->beginTransaction()和$pdo->commit()。 php.net/manual/en/pdo.begintransaction.php,然后将每个INSERT语句作为单独的查询发出。 -
这应该是答案! +1 @MichaelBerkowski
-
@TimeBigot 您能否发布执行此操作的上下文 PHP/PDO 代码?这将有助于我们做出适当的更正,而无需对您尝试使用它的方式做出假设。
-
做到了!谢谢!如果我以后发布任何其他问题,请记住那个迈克尔。我在这里有点新。
-
嘿@MichaelBerkowski,您介意发表您的评论作为答案吗?
标签: mysql pdo transactions