我有這樣的代碼:MySQL的LAST_INSERT_ID語法
//insert user input into db
$query = "INSERT INTO test_details (test_title, user_id, likes)
VALUES ('$title', '$user_id', '0')";
$query .= "INSERT INTO test_descriptions (test_id, description)
VALUES (LAST_INSERT_ID(), '$description')";
if(isset($grade) && isset($difficulty) && isset($subject)) {
$query .= "INSERT INTO test_filters (test_id, grade, subject, difficulty)
VALUES (LAST_INSERT_ID(), '$grade', '$subject', '$difficulty')";
}
if(mysqli_multi_query($con, $query)) {
echo 'Go <a href="../create">back</a> to start creating questions.';
}
else {
echo "An error occurred! Try again later.";
echo mysqli_error($con);
}
當我嘗試執行代碼,我收到此MySQL錯誤: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 'SET @id = (SELECT LAST_INSERT_ID())INSERT INTO test_descriptions (test_id, descr' at line 2
不知道做了什麼錯,所有的語法似乎是正確的。謝謝。
你需要每個單獨的SQL語句之間添加分號。 – andrewsi
您的錯誤消息包含未出現在代碼摘錄中的SQL片段('SET @id ...')。我錯過了什麼,或者你是? – pilcrow