目前我有一个关注的表,它是一个酒店预订网站;第一 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/