我无法理解为什么它被视为该问题的重复。我没有任何特定类型的错误。此外,我的代码在我添加SET之前工作但它没有效率,所以我尝试使用它但它不起作用我正在寻求帮助,我不明白为什么它被视为该问题的重复。
我必须构建2个MYSQL表,其中一个我有questionId和问题文本本身,而对于第二个,我有多个答案,有4行,id,answer,questionid,正确(如果没有则为1,如果不正确则为0) 。我想插入它们,我有这个脚本
global $conn;
$stmt = $conn->prepare('BEGIN;
INSERT INTO
Questions
(ID, Question)
VALUES
(?, ?);
SET @last_id_in_table1 = LAST_INSERT_ID();
INSERT INTO
QuizAns
(QuestionID, Answer, Correct)
VALUES
(@last_id_in_table1,?,?);
INSERT INTO
QuizAns
(QuestionID, Answer, Correct)
VALUES
(@last_id_in_table1,?,?);
INSERT INTO
QuizAns
(QuestionID, Answer, Correct)
VALUES
(@last_id_in_table1,?,?);
INSERT INTO
QuizAns
(QuestionID, Answer, Correct)
VALUES
(@last_id_in_table1,?,?);
COMMIT;');
if ($stmt === false)
{
return 'Code - 2';
}
以下返回“Code - 2”,表示此代码有问题。我的逻辑是将最后插入的id保存在@ last_id_in_table1中,然后使用它来插入questionID。但它失败了。