我有两个表
- 用户详情
- 加载所有者
用户详细信息
user_id as primary key
name
password
phone
load_owner
load_owner_id as a primary key
user_id as foreign key
address
bank name
我需要同时插入所有值。我试过了,但在 load_owner 表中,user_id 值插入为 NULL。我的 PHP 代码如下
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$phone = $_POST['phone'];
$password = $_POST['password'];
$address = $_POST['address'];
$bank_name = $_POST['bank_name'];
$user_insert = mysql_query("insert into user_details (name, password, phone) values ('$name', '$password', '$phone')");
if($user_insert==false)
{
echo "".mysql_error();
}
$load_owner_insert = mysql_query("insert into load_owner ( address, bank_name) values ('$address''$bank_name')");
if($load_owner_insert==false)
{
echo "".mysql_error();
}
}
?>
最佳答案
那是因为您在插入到 load_owner 表时实际上并未指定 user_id 值。您需要先获取 user_id 值,这样它就变成了:
$user_insert = mysql_query("insert into user_details (name, password, phone) values ('$name', '$password', '$phone')");
$user_id = mysql_insert_id();
然后将user_id插入load_owner
$load_owner_insert = mysql_query("insert into load_owner ( user_id, address, bank_name) values ($user_id, '$address', '$bank_name')");
PS:使用 PDO使用准备好的语句,此 SQL 查询容易出现 SQL Injections并且 mysql 库已弃用。
关于php - 如何使用 PHP 同时插入主键和外键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33591594/