php - 通过 PDO SQL 分配外键

标签 php mysql sql pdo phpmyadmin

目前我有一个关注的表,它是一个酒店预订网站;第一 table 是客人,另一 table 是预订。这些表通过约束链接,主键是 guest 表上的 Guest ID,外键是预订表上的 GuestIDFK2。

为了通过预订表识别客人,需要将外键放入其中。问题是我不知道如何通过 PDO 分配外键,因为我不知道从哪里获取信息。 (我的意思是我确信我可以为其分配一个值,但是我从哪里获取信息)?我可以将它存储在 session 变量或其他东西中吗?如果可以的话怎么办?

我的连接和第一个查询代码如下。这会分配一个自动增量 ID,但我不知道在执行第二个查询时如何将其复制到 FK。

<?php
//Connecting to db adding customer
$conn = new PDO("mysql:host=localhost;dbname=sgh_bookings","root","");
if(isset($_POST['submit'])){
$resultquery1 = $conn->prepare("INSERT INTO `guests` VALUES ('','$_SESSION[cusfname]','$_SESSION[cusaddress]','')");
$resultquery1->execute();
$resultquery2 = $conn->prepare("INSERT into ``");
}
?>

最佳答案

将数据插入到 guest 表后,然后将最后插入的 id 插入到 booking 表中 示例:

<?php
//Connecting to db adding customer
$conn = new PDO("mysql:host=localhost;dbname=sgh_bookings","root","");
if(isset($_POST['submit'])){
$resultquery1 = $conn->prepare("INSERT INTO `guests` VALUES ('','$_SESSION[cusfname]','$_SESSION[cusaddress]','')");
$resultquery1->execute();
$id = $conn->lastInsertId();
//insert the $id in following table
$resultquery2 = $conn->prepare("INSERT into ``");
}
?>

关于php - 通过 PDO SQL 分配外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32539659/

相关文章:

mysql - Laravel Eloquent - 获取属于另一个表的表的条目

sql - 如何使用 Lag Lead 或窗口函数根据列值合并行开始日期结束日期?

php - 将 ô 插入 mysql 数据库是 Rhône 结果的一部分

php - UTF-8贯穿始终

php - php下拉菜单有问题

PHP PDO::FETCH_ASSOC 返回 false

MySQL GROUP BY 查询运行速度很快,但不如 VIEW

mysql:神秘的横向单引号和 IS NOT NULL

sql - 添加唯一约束但忽略现有表数据

sql - 如何汇总SQL表以有条件地返回值