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

使用php插入两个不同的mysql表,php,mysqli,Php,Mysqli,我有两个mysql表:details和detmages。“详细信息”表有一个名为id的列,该列是该表的主键,它也会自动递增。detimages表有一个名为detkey的列,这是一个外键,它链接到details表的id列 我试图实现的是:用户输入详细信息,并选择与他输入的详细信息相关的图像,然后将详细信息插入到详细信息表中,将与详细信息相关的图像插入到detimages表中,并将详细信息id作为外键 我可以插入这两个不同的表,但外键的那一个我卡住了。我不知道如何自动获取插入的详细信息的主键,然后使

我有两个mysql表:detailsdetmages。“详细信息”表有一个名为id的列,该列是该表的主键,它也会自动递增。detimages表有一个名为detkey的列,这是一个外键,它链接到details表的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>';
    }
}
包括“DatabaseConfig.php”;
如果(isset($\u POST['uploadImageBtn'])){
$details=mysqli\u real\u escape\u字符串($db,$\u POST['details']);
$detail_query=“插入细节(描述)值(“$details”)”;
$run=$db->query($detail\u query)或die(“保存细节时出错”。$db->Error);
$uploadFolder='upload/';
foreach($\u FILES['imageFile']['tmp\u name']作为$key=>$image){
$imageTmpName=$_文件['imageFile']['tmp_名称'][$key];
$imageName=$_文件['imageFile']['name'][$key];
$result=move_upload_文件($imageTmpName,$uploadFolder.$imageName);
//保存到数据库
$image\u query=“插入到DETMAGES集合文件中”\u name='$imageName';
$run=$db->query($image\u query)或die(“保存图像时出错”。$db->Error);
}
如果($结果){
回显“警报(“图像上传成功!”);
}
}

当您执行sql时,您会遇到类似的情况

$query=$pdo->prepare(sql); $query->execute(); 对于您使用的每种类型的SQL类型,都有一个命令 $query->lastinsertid()

也许对于pdo和SQLite来说是不同的

搜索查询->lastinsertid()

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

您可以使用以下任何一种:


您应该提供更多详细信息和当前代码,以便我们可以帮助您编辑。另请参见,提供SQL语句和您得到的确切错误。阅读有关外键约束的更多信息:我添加了代码示例。thanksIt在问题中说他们使用MySQL。