首页 > 解决方案 > 如何将数据插入到php中具有FK关系的两个表中

问题描述

我正在尝试学习 php 并希望将数据插入到与表单有 Fk 关系的两个表中这是我的代码:

<?php
// gegevens inserten in de database 
require "db.php"; // database connectie 
$message =''; // het bericht laten we eerst leeg 
//checken of alle velden zijn ingevuld
if (isset ($_POST['client_name']) && isset($_POST['phonenumber']) && isset($_POST['tabel']) && isset($_POST['persons']) && isset($_POST['date']) && isset($_POST['time'])){
   $client_name = $_POST['client_name'];
   $phonenumber = $_POST['phonenumber'];
   $tabel = $_POST['tabel'];
   $persons = $_POST['persons'];
   $date = $_POST['date'];
   $time = $_POST['time'];
   //$sql = "INSERT INTO reserveringen(tabel, date, time, persons) VALUES(:tabel, :date, :time, :persons) INNER JOIN klant (client_name, phonenumber) VALUES(:client_name, :phonenumber) ON reserveringen.client_id = klant.client_id "
   $sql = "INSERT INTO reserveringen(tabel, date, time, persons) VALUES(:tabel, :date, :time, :persons)";
   $sql1= "INSERT INTO klant(client_name, phonenumber) VALUES(:client_name, :phonenumber)";
   $statement = $connection->prepare($sql);
   $statement1 = $connection->prepare($sql1);

  if ($statement->execute([':tabel' => $tabel, ':date' => $date, ':time' => $time, ':persons' => $persons]) && $statement1->execute([':client_name' => $client_name, ':phonenumber' => $phonenumber]) ){
       $message = 'Data is succesvol toegevoegd';
   }else{
    $message = 'Data is niet  succesvol toegevoegd';
   }
}
?>

有人能帮我吗

标签: phpmysqlsqlpdo

解决方案


 $sql1= "INSERT INTO klant(client_name, phonenumber) VALUES(:client_name, :phonenumber)";
   $statement1 = $connection->prepare($sql1);
   $statement1->execute([':client_name' => $client_name, ':phonenumber' => $phonenumber]);

   $client_id = $connection->lastInsertId();

   $sql = "INSERT INTO reservation(tabel, date, time, client_id,  persons) VALUES(:tabel, :date, :time, :client_id, :persons)";
   $statement = $connection->prepare($sql);
   $statement->execute([':tabel' => $tabel, ':date' => $date, ':time' => $time, ':client_id' => $client_id, ':persons' => $persons]);

   if($statement && $statement1 == true){
    $message = 'Data is succesvol toegevoegd';
   }else{
    $message = 'Data is niet  succesvol toegevoegd';
   } 
}

推荐阅读