2017-02-26 4 views
-2

テーブルが外部キーで相互に接続されるように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

なぜSELECTたくさん... 2つの表に感謝し、すべてのデータを挿入しますか? – Strawberry

+0

最後の挿入IDを選択し、外部キー 'Delivery ID'を持つ別のテーブルに挿入する必要があります。あなたはそれを行う方法を持っています – CodeForLife

+0

引用符で囲まれた文字列はすべてあなたのPHPコードの1行ですか?投稿されたコードではそうではなく、それは文字列ではありません。 –

答えて

0

おかげで私は私のクエリを編集すべて は...

は、それが働いたと

1

を助けてください。これは、クエリが、セットではありませんしたがって複数のクエリを個別に実行する必要があります。

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

クエリには準備済みの文を使用する必要があることに注意してください。

+0

ありがとうございましたコードをよく書いてください。私はPHPについては大したことはありません。説明してください。 – CodeForLife

+0

説明してください。 – CodeForLife

+0

@CodeForLifeこの回答は慎重に読んでからこのアドバイスをお試しください。一度に1つのクエリ。 – tadman

関連する問題