2017-02-26 91 views
-2

我写了一个代码,该代码一次插入两个表中,表中的表与外键相互连接。 我在这个网站搜索,但没有找到答案。 这个查询在phpmyadmin中工作,但在php代码中有错误的答案,并且不能在php中工作....为什么? :( 这是我的质疑与PHP代码....请帮我在PhpMyAdmin中查询工作,但不能在php代码中工作

INSERT INTO `interviewdeliverytable` (`FirstName` , `LastName` , `PhoneNumber` , `PostCode` , `IdNumebr` , `BirthDate` , `Address` , `Accepted` , `IsBike` , `Date`) 
VALUES ('$FirstName', '$LastName', '$PhoneNumber', '$PostCode', '$IdNumber', '$BirthDate', '$Address', '$Accepted', '$IsBike', '$Date'); 
SELECT @Var := Last_INSERT_ID() ; 
INSERT INTO `interviewbiketable` (`PhoneNumber` , `DriverLicenseId` , `BikeModel` , `PelakNumebr` ,`Accepted`,`IsBike`, DeliveryId) 
VALUES ('$PhoneNumber', '$DeliverLicenseId', '$BikeModel', '$PelakNumber','$Accepted','$IsBike', @Var) 

PHP代码

function registerDelivery(){ 
$connection=createConnection(); 
if(!$connection){ 
    echo "Error"; 
}else{ 
// 
//get objects 
// 
$json = file_get_contents('php://input'); 
$obj = json_decode($json); 
$FirstName=$obj->FirstName; 
$LastName=$obj->LastName; 
$PostCode=$obj->PostCode; 
$IdNumber=$obj->IdNumebr; 
$BirthDate=$obj->BirthDate; 
$Address=$obj->Address; 
$Accepted=$obj->Accepted; 
$IsBike=$obj->IsBike; 
$Date=$obj->Date; 
$DeliverLicenseId=$obj->DriverLicenseId; 
$BikeModel=$obj->BikeModel; 
$PelakNumber=$obj->PelakNumebr; 
$PhoneNumber=$obj->PhoneNumber; 
// 
//insert Query 
// 
$result=mysqli_query($connection,"INSERT INTO `interviewdeliverytable` (`FirstName` , `LastName` , `PhoneNumber` , `PostCode` , `IdNumebr` , `BirthDate` , `Address` , `Accepted` , `IsBike` , `Date`) 
VALUES ('$FirstName', '$LastName', '$PhoneNumber', '$PostCode', '$IdNumber', '$BirthDate', '$Address', '$Accepted', '$IsBike', '$Date'); 
SELECT @Var := Last_INSERT_ID() ; 
INSERT INTO `interviewbiketable` (`PhoneNumber` , `DriverLicenseId` , `BikeModel` , `PelakNumebr` ,`Accepted`,`IsBike`, DeliveryId) 
VALUES ('$PhoneNumber', '$DeliverLicenseId', '$BikeModel', '$PelakNumber','$Accepted','$IsBike', @Var)"); 
echo json_encode(array('Result'=>$result)); 
mysqli_close($connection); 

}}

+0

为什么选择? – Strawberry

+0

它应该选择最后一个插入ID并插入到具有外键'Delivery id'的另一个表中。你有办法做到这一点 – CodeForLife

+0

你的PHP代码中的引用字符串是否都是一行?在发布的代码中,它不是,这使得它不是一个字符串。 –

回答

0

感谢所有 我编辑查询...

它的工作和插入的所有数据在两个表......非常感谢

1

这不是一个查询,但一集多个查询。因此,您必须逐个运行它们:

mysqli_query($connection,"INSERT INTO ..."); 
$id = mysqli_insert_id($connection); 
mysqli_query($connection,"INSERT INTO ..."); 

请注意,您应该使用准备好的语句进行查询。

+0

谢谢请写代码更好我不关于PHP非常..请解释更多 – CodeForLife

+0

解释更多请:) :) – CodeForLife

+0

@CodeForLife如果你花时间仔细阅读并尝试这个建议,这个答案是非常清楚。一次一个查询。 – tadman

相关问题