如何将数据插入在PHP中具有FK关系的两个表中

时间:2020-02-24 21:38:29

标签: php mysql sql pdo

我正在尝试学习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';
   }
}
?>

有人可以帮我吗

1 个答案:

答案 0 :(得分:0)

 $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';
   } 
}