繁体   English   中英

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

[英]inserting into two different mysql tables using php

我有 2 个 mysql 表: detailsdetimages 详细信息表有一个名为 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>';
    }
}

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

$query = $pdo->prepare(sql); $查询->执行(); 对于每种类型的 SQL 类型,您使用的命令是 $query->lastinsertid();

也许 pdo 和 SQLite 不同。

搜索查询 -> lastinsertid();

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

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

mysql_insert_id

PDO::lastInsertId

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM