使用子查询,最后插入ID和预准备语句插入2个PHP表

时间:2016-04-27 17:40:46

标签: php mysql

所以,我有使用子查询和最后一个插入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的方式是错误的,还是我的第二个查询是错误的?

任何帮助都非常感谢。非常感谢你

0 个答案:

没有答案