2017-02-28 4 views
0

私は1つのフォームを持っており、2つのテーブルにデータを(POST経由で)挿入しようとしています。
AUTO_INCREMENT IDによって両方のテーブルをリンクする外部キーがあります。1つのフォームから2つのテーブルにポストするキーを持つMySQLi

私は広範囲にわたってサイトを検索し、すべての提案を試してみましたが、いずれもうまくいきませんでした。

私はこの問題は類似しているとは思いますが、正確ではないと思います。

は、ここに私のPHPです:あなたは私たちに、エラーメッセージを語ったか、正確にあなたのデータベーススキーマを説明していない

// Escape user inputs for security 
$companyName = mysqli_real_escape_string($con, $_REQUEST['companyName']); 
$companyAddress =mysqli_real_escape_string($con,$_REQUEST['companyAddress']); 
$companyCity = mysqli_real_escape_string($con, $_REQUEST['companyCity']); 
$companyState = mysqli_real_escape_string($con, $_REQUEST['companyState']); 
$companyZip = mysqli_real_escape_string($con, $_REQUEST['companyZip']); 
$companyPhone = mysqli_real_escape_string($con, $_REQUEST['companyPhone']); 
$companyURL = mysqli_real_escape_string($con, $_REQUEST['companyURL']); 
$contactName = mysqli_real_escape_string($con, $_REQUEST['contactName']); 
$contactEmail = mysqli_real_escape_string($con, $_REQUEST['contactEmail']); 
$contactPosition = mysqli_real_escape_string($con,$_REQUEST['contactPosition']); 

// Attempt insert query execution 
$sql1 = "INSERT INTO companyData (companyName, companyAddress, companyCity, companyState, companyZip, companyPhone, companyURL) 
VALUES ('$companyName', '$companyAddress', '$companyCity', '$companyState', '$companyZip', '$companyPhone', '$companyURL')"; 
$sql2 = "INSERT INTO contactData (contactName, contactEmail, contactPhone, contactPosition) 
VALUES ('$contactName', '$contactEmail', '$contactPhone', '$contactPosition')"; 

if (!mysqli_query($con,$sql1)) 
{ 
die('Error: ' . mysqli_error($con)); 
} 
if (!mysqli_query($con,$sql2)) 
{ 
die('Error: ' . mysqli_error($con)); 
} 
echo "<center><h1>Record updated successfully.<br> 
Go <a href='data/form_companyinfo.php'>Here </a>Next</h1></center>"; 

答えて

0

が、ここでは推測です:ように最初に挿入した後

使用mysqli_insert_id()結果のID(mysqli_insert_id()が返す)を次のINSERTステートメントに渡すことができます。

+0

うわー....それは速かった。返信いただきありがとうございます。 "エラー:行1における列 '企業ID' の範囲の値のうち" – Jawanaut

+0

companyData 企業ID(AI) のcompanyName companyAddress companyCity companyState companyZip companyPhone companyURL 連絡先データ contactID(AI) CONTACTNAME CONTACTEMAIL contactPhone \t外部キー制約(INNODB) 'データベース' 'companyData'。 'companyID' 制約名: contact_id_fk_idx on DELTEカスケード on UPDATEいいえ – Jawanaut

+0

companyIDのデータタイプと挿入しようとしている値を見てください。それはちょうどそれが言うことを意味するかもしれないかのように見えます。 https://dev.mysql.com/doc/refman/5.7/en/integer-types.html – David

関連する問題