[英]php mysql how to use mysql_insert_id() to be able to insert into 2 table at the same time?
[英]How to use mysql_insert_id with a junction table
我有一個表格和三個表: customer
, phone_number
和junction
(創建多對多關系)。
我需要使用從customer
和phone number
表中新創建的自動遞增的ID來填充所有三個表的表格,以填充junction
表中的customer_id
和phone_id
列。
我想出了以下內容,它將把來自customer
表的新創建的ID插入junction
表中,但是我不知道如何獲取電話號碼來做同樣的事情。
$query = "INSERT INTO customer (first_name, last_name) VALUES (%s, %s)",
GetSQLValueString($_POST['first_name'], "text"),
GetSQLValueString($_POST['last_name'], "text"));
$result = mysql_query();
$insertID = mysql_insert_id();
$query = "INSERT INTO junction (customer_id) VALUES ($insertID)";
mysql_select_db($database_hh, $hh);
$result = mysql_query($query, $hh) or die(mysql_error());
這是為您准備的偽代碼:
//Insert a customer
$query = "INSERT INTO `customer` ..."
...
//Get the newly inserted customer's ID
$customer_id = mysqli_insert_id();
//Insert a phone
$query = "INSERT INTO `phone` ..."
...
//Get the newly inserted phone's ID
$phone_id = mysqli_insert_id();
...
//Insert them in the junction table
$query = "INSERT INTO `junction` (customer_id, phone_id) VALUES ($customer_id, $phone_id)"
而且由於您使用的是mysql_*
這里的注釋可能會在StackOveflow上看到很多:
請不要對新代碼使用mysql_ *函數。 它們已不再維護,社區已開始棄用過程 。 看到紅色框了嗎? 相反,您應該了解准備好的語句,並使用PDO或MySQLi 。 如果您不能決定, 本文將有助於選擇。 如果您想學習,這里有個不錯的PDO教程 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.