0

我有一个表单和三个表:customerphone_numberjunction(创建多对多关系)。

customer我需要表单来使用和表中新创建的自动递增 id 填充所有三个表,phone number以填充表中的customer_idphone_idjunction

我想出了以下方法,它将表中新创建的 id 插入customerjunction表中,但我不知道如何获取电话号码来做同样的事情。

$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());
4

1 回答 1

1

这是给你的伪代码:

//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_* 函数用于新代码。它们不再被维护并且社区已经开始了弃用过程。看到红框了吗?相反,您应该了解准备好的语句并使用PDOMySQLi。如果你不能决定,这篇文章将有助于选择。如果你想学习,这里有很好的 PDO 教程

于 2013-01-09T05:54:58.940 回答