使用 php 插入两个不同的 mysql 表
inserting into two different mysql tables using php
我有 2 mysql tables:details 和 detimages。 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..
您可以使用其中之一:
我有 2 mysql tables:details 和 detimages。 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..
您可以使用其中之一: