php - 如何使用 PHP 同时插入主键和外键值

标签 php

我有两个表

  1. 用户详情
  2. 加载所有者

用户详细信息

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/

相关文章:

php - 使用谷歌帐户注册/登录本地主机应用程序

php - 为什么超时不工作linux服务器

php - mysql View 会减慢服务器速度吗?

php - 图片上传表单无法在网络上使用

php - 如何从文件夹中下载所有图像

javascript - 我的 Javascript 代码没有在 laravel 中运行

php - MySQl 前导零被存储但显示错误

php - 从 PHP 洗牌中获取输出并将其插入到新的数据库表中

php - 为什么这个实现不被 PHP 认为与其接口(interface)兼容?

php - 自定义帖子类型和页面层次结构 - 错误 404