使用 php 插入两个不同的 mysql 表

inserting into two different mysql tables using php

我有 2 mysql tables:detailsdetimages。 Details table 有一个名为 id 的列,它是 table 的主键,它也会自动递增。并且 detimages table 有一个名为 detkey 的列,它是一个外键,它链接到详细信息的 id 列 table。

我想要实现的目标:用户输入详细信息并选择与他输入的详细信息相关的图像,然后将详细信息插入到详细信息中 table 并且图像是与细节相关的信息被插入到 detimages tables 中,并将细节 id 作为外键。

我可以插入这两个不同的 table,但我卡在外键上了。我不知道如何自动获取插入细节的主键,然后用它来插入到detimages table。谢谢

这是我的代码:

 include 'DatabaseConfig.php'; 
    if (isset($_POST['uploadImageBtn'])) {
$details = mysqli_real_escape_string($db, $_POST['details']);        
   $detail_query= "INSERT INTO details(description) values('$details')";        
   $run = $db->query($detail_query) or die("Error in saving detail".$db->error);
    $uploadFolder = 'upload/';
    foreach ($_FILES['imageFile']['tmp_name'] as $key => $image) {
        $imageTmpName = $_FILES['imageFile']['tmp_name'][$key];
        $imageName = $_FILES['imageFile']['name'][$key];
        $result = move_uploaded_file($imageTmpName,$uploadFolder.$imageName);

        // save to database
     
        $image_query = "INSERT INTO detimages SET file_name='$imageName' " ;
        $run = $db->query($image_query) or die("Error in saving image".$db->error);
        
    }
    if ($result) {
        echo '<script>alert("Images uploaded successfully !")</script>';
    }
}

当你执行 sql 时,你有类似的东西

$query = $pdo->准备(sql); $查询->执行(); 对于您使用的每种类型的 SQL 类型都是一个命令,例如 $query->lastinsertid();

也许 pdo 和 SQLite 不同。

搜索查询 -> lastinsertid();

或者告诉我们您的更多信息 MySQL 连接类型, 是pdo吗,mysql,mysqli..

您可以使用其中之一:

mysql_insert_id

PDO::lastInsertId