我正在尝试建立一个注册页面。我试图将要去露营的孩子与支付露营费用的父母联系起来。我已经建立了一个外键,这些查询在 phpAdmin 中运行良好。
将新孩子插入数据库的第一个查询工作正常。- 要求刚刚添加的 KidID 的第二个查询也返回正确的值。
但是,我的第三个查询需要第二个查询的结果不起作用。我对这个世界很陌生,非常感谢可以提供的任何帮助。
require_once 'login.php';
//sending data to server.
$MySQL = new mysqli($db_hostName, $db_username, $db_password, $db_databaseName);
$MySQL->query("INSERT INTO `Kid`(`First_Name`, `Last_Name`, `Parent1_First_Name`, `Parent1_Last_Name`, `Parent2_First_Name`, `P2_Last_Name`, `P1_Phone`, `P2_Phone`, `P1_Email`, `P2_Email`, `EmergencyContact_FName`, `EmergencyContact_LName`, `EmergencyContact_Phone`, `KidStreetAddress`, `KidZip`, `SpecialNeeds`, `DOB`, `PickupID`, `kidSex`, `SwimID`)
VALUES ('$kidFirstName','$kidLastName','$p1FirstName','$p1LastName','$p2FirstName','$p2LastName','$p1FinPhone','$p2FinPhone','$p1Email','$p2Email','$eFirstName','$eLastName','$eFinPhone','$kidStreetAddress',$kidZip,'$kidSpecialNeeds','$cDOB','$kidPickup','$kidSex',(SELECT `SwimID` FROM `SwimmingStrength` WHERE `SwimID` = 1))");
$kidID = $MySQL->query("SELECT `KidID` FROM `Kid` ORDER BY `KidID` DESC LIMIT 1");
$kidID->data_seek($i);
$row = $kidID->fetch_row();
$kidFinID = $row[0];
$MySQL->query("INSERT INTO `Customer`(`First_Name`, `Last_Name`, `Billing_Address`, `Billing_Zip`, `Billing_State`, `Billing_Phone`, `Billing_Email`, `KidID`)
VALUES ('$BillFirstName','$BillLastName','$BillFullAddress',$BillZip,'$BillState','$billFinPhone','$BillEmail',(SELECT `KidID` FROM `Kid` WHERE `KidID`=$kidFinID)");
$kidID->close();
$MySQL->close();
我的猜测是我需要确保 PHP 在运行第三个查询之前获取第二个查询的结果,但不知道如何设置它。