2017-02-28 30 views
0

所以,我有一個表單,我試圖插入數據(通過POST)到兩個表。
有一個外鍵將AUTO_INCREMENT ID連接到兩個表。從一個表單MySQLi與foriegn鍵發佈到兩個表

我已經廣泛搜索該網站,並嘗試了所有建議(對於這些問題),沒有工作。

我想這是因爲他們的問題是相似的,但不是我的確切的。

這裏是我的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

哇....這很快。謝謝回覆。 「錯誤:出於對列範圍值的 'companyID' 在1行」 – Jawanaut

+0

companyData companyID(AI) 的companyName 置業有限公司 companyCity companyState companyZip 公司電話 companyURL 聯繫數據 的ContactID(AI) CONTACTNAME contactEmail contactPhone \t外鍵約束(INNODB) 'database'。'companyData'。'companyID' 約束名稱: DELETE級聯上的contact_id_fk_idx 上UPDATE無操作 – Jawanaut

+0

查看公司ID的數據類型和您嘗試插入的值。它看起來好像它可能只是它所說的。 https://dev.mysql.com/doc/refman/5.7/en/integer-types.html – David