所以,我有使用子查询和最后一个插入ID直接将数据插入到2个表中的问题。
我有以下代码
if (isset($_POST['recipient']))
$recipient = sanitize($_POST['recipient']);
if (isset($_POST['message']))
$message = sanitize($_POST['message']);
$sql = "INSERT INTO message (senderID, message)
VALUES (?,?)";
if ($stmt = mysqli_prepare($connection, $sql)) {
mysqli_stmt_bind_param($stmt, "is", $userID, $message);
mysqli_stmt_execute($stmt);
$newID = mysqli_insert_id($connection);
$sql2 = "INSERT INTO message_recipient (messageID, recipientID)
SELECT ?, userID
from user
where username = $recipient";
if ($stmt2 = mysqli_prepare($connection, $sql)) {
mysqli_stmt_bind_param($stmt2, "ii", $newID, $recipient);
mysqli_stmt_execute($stmt2);
mysqli_stmt_close($stmt2);
}
}
对于$ stmt2,它在phpmyadmin中工作得很好,但没有准备好的语句。第一个查询运行良好,它可以添加数据,但不能第二个。此外,我不知道为什么第一个查询将插入2个数据,第一个数据正确,第二个错误。
我上次插入ID的方式是错误的,还是我的第二个查询是错误的?
任何帮助都非常感谢。非常感谢你