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

我有 2 个 mysql 表:details和detimages。详细信息表有一个名为 id 的列,它是该表的主键,并且还会自动递增。detimages 表有一列名为 detkey 的列,它是与详细信息表的 id 列链接的外键。


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


我可以插入这两个不同的表,但我被困在外键表上。我不知道如何自动获取插入详细信息的主键,然后使用它插入到 detimages 表中。谢谢


这是我的代码:


 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>';

    }

}


森栏
浏览 170回答 2
2回答

翻过高山走不出你

您可以使用以下任一方法:mysql_插入_idPDO::最后插入Id

慕桂英546537

当你执行一条sql时,你会得到类似的东西$query = $pdo->prepare(sql);&nbsp;$查询->执行();&nbsp;对于您使用的每种类型的 SQL 类型,都有一个类似 $query->lastinsertid(); 的命令;也许 pdo 和 SQLite 是不同的。搜索查询->lastinsertid();或者告诉我们您的MySQL连接类型的更多信息,是pdo、mysql、mysqli..
打开App,查看更多内容
随时随地看视频慕课网APP