我有一个在数据库中创建用户的脚本:
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, password, salt) VALUES (?, ?, ?, ?)")) {
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt);
if (! $insert_stmt->execute()) {
header('Location: ../error.php?err=Registration failure: INSERT');
exit();
}
}
header('Location: ./register_success.php');
exit();
表成员还有一个唯一且自动增量的ID列。
创建用户后,我想运行一个新语句。
if ($insert_stmt2 = $mysqli->prepare("INSERT INTO users (user_id, username, email, password, salt) VALUES (?, ?, ?, ?, ?)")) {
$insert_stmt2->bind_param('sssss', $user_id, $username, $email, $password, $random_salt);
这次我有一个名为user_id的新列。我想获取第一个INSERT的插入ID,并将其作为user_id插入到第二个表中。
有人知道我该怎么做吗?
修改1:
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, password, salt) VALUES (?, ?, ?, ?)")) {
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt);
// Execute the prepared query.
if (! $insert_stmt->execute()) {
header('Location: ../error.php?err=Registration failure: INSERT');
exit();
}
if ($insert_stmt2 = $mysqli->prepare("INSERT INTO users (user_id, username, email, password, salt) VALUES (?, ?, ?, ?, ?)")) {
$insert_stmt2->bind_param('sssss', $mysqli->insert_id, $username, $email, $password, $random_salt);
// Execute the prepared query.
if (! $insert_stmt2->execute()) {
header('Location: ../error.php?err=Registration failure: INSERT');
exit();
}
}
}
header('Location: ./register_success.php');
exit();