下面我有一个使用 php 和 mysqli 的 INSERT 数据库函数:
for ($i = 1, $n = $_SESSION['sessionNum']; $i <= $n; $i++) {
$insertsql = "
INSERT INTO Session
(SessionName, SessionTime, SessionDate, SessionWeight, SessionDuration, TotalMarks, ModuleId, TeacherId, Room)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
";
if (!$insert = $mysqli->prepare($insertsql)) {
// Handle errors with prepare operation here
}
$sessname = $_SESSION['id'] . ($n == 1 ? '' : $i);
$sessdate = date("Y-m-d", strtotime($_SESSION['dateChosen']));
$insert->bind_param("sssisiiis", $sessname, $_SESSION['timeChosen'], $sessdate,
$_SESSION['totalWeight'], $time, $_SESSION['textMarks'],
$_SESSION['hiddenmodule'], $teacherid, $_SESSION['rooms']);
$insert->execute();
if ($insert->errno) {
// Handle query error here
}
$insert->close();
}
上面的代码将把这些数据一次性插入到下面的数据库中作为示例:
SessionId (Auto) SessionName SessionTime //etc
1 ADFGR1 01:00:00
2 ADFGR2 13:00:00
3 ADFGR2 09:00:00
无论如何,您可以看到我没有包含SessionId
在上面的代码中,因为它是一个自动增量,这意味着它无论如何都会显示。
但我遇到的问题是,在这个插入下面,我想做的是当上面的插入完成后,我想在下面做另一个插入:
$insertsession = "
INSERT INTO Session_Complete
(SessionId)
VALUES
(?)
";
if (!insertdb = $mysqli->prepare($insertsession)) {
// Handle errors with prepare operation here
}
insertdb->bind_param("i",$value);
insertdb->execute();
if (insertdb->errno) {
// Handle query error here
}
但是我对上述插入的问题是它需要SessionId
第一个插入中已经插入的 's 才能将这些 id 插入其表中。我的问题是如何SessionId
从第一个插入中检索,以便我可以将它们包含在第二个插入中?