我想问一下。我在数据库中有两个表。在这种情况下,我有一个表单来获取所有需要存储的数据。其中一些数据必须存储在一个表中,一些存储在另一个表中。但是,一个表中的数据ID也应存储在另一个表中以便检索。例如,在表1中我有ID,表1中的这个ID也应该在表2中同时存储为T2_ID,当用户按下提交按钮的那一刻,数据应该根据其目的自动平均存储。但是,在我的情况下,只存储表1的那些数据,因为在保存之后我无法从表1中检索ID。
这是我的代码:
if (mysqli_query($connect, $sql)) {
$getinfo = "SELECT id FROM names WHERE firstname='$firstname' AND lastname='$lastname'";
$query = mysql_query($getinfo, $connect);
$row = mysql_fetch_array($query);
$forid = $row['id'];
$sql2 = "INSERT INTO phonenumbers (name_id, type, number)
VALUES ('$forid', '$contacttype', '$newnum')";
if (mysqli_query($connect, $sql2)) {
echo "<script>alert('New record added successfully!');</script>";
header('Location: index.php');exit();
}
else {
echo "<script>alert('Error: " . $sql2 . "<br>" . mysqli_error($connect) . "');</script>";
header('Location: index.php');exit();
}
}
else {
echo "<script>alert('Error: " . $sql . "<br>" . mysqli_error($connect) . "');</script>";
header('Location: index.php');exit();
}
答案 0 :(得分:0)
您可以获得查询的最后插入ID
$forid = mysqli_insert_id($connect);
$sql2 = "INSERT INTO phonenumbers (name_id, type, number)
VALUES ('$forid', '$contacttype', '$newnum')";
答案 1 :(得分:0)
你需要使用insert select ..
查询后
INSERT INTO tbl1 (column1, column2)
VALUES ('$val1', '$val2');
你应该像
那样查询另一个 INSERT INTO tbl2 (id, tbl2column, tbl2anothercolumn)
SELECT id, $anotherval as 'whatever' , $anotherval2 as 'anything' FROM tbl1 WHERE column1 = '$val1' and column2 = '$val2'