php - 如何将 LAST_INSERT_ID() 存储在数据库中作为另一个表中的外键

标签 php mysql sql codeigniter

我有需求是,有两个表users和student。

user table                          student table
id | email | user_type_id               id |    email   |name |user_id            

当学生提交表单数据时,应该将数据插入到两个表和用户表中,我存储 user_type_id =1 static 但在 student 表中的 user_id 列中,生成的用户 ID 应该被保存。

我无法在学生表中保存用户 ID。这是我试过的代码

学生模型

public function add($data)
    {

        $temp = array(
            'Email' => $data['Email'],
            'user_type_id'=> 1
        );

        return $this->db->insert('users',$temp);
        return $this->db->insert_id();
        return $this->db->insert('students',$data);
    }

最佳答案

使用

$this->db->insert_id()

公共(public)函数添加($数据) {

    $temp = array(
        'Email' => $data['Email'],
        'user_type_id'=> 1
    );

    return $this->db->insert('users',$temp);
    return $this->db->insert_id();
    $data['user_id'] = $this->db->insert_id(); // Use insert_id()
    return $this->db->insert('students',$data);
}

关于php - 如何将 LAST_INSERT_ID() 存储在数据库中作为另一个表中的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27619534/

相关文章:

php - 循环内循环以更新数据库记录

php - 使用 PHP 从文件中读取大型 js 数组

mysql - SQL逻辑: sort result by product of a column and number of colums of a specific type

php - 优化包含正则表达式的查询以进行排序

php - 如何将基本 HTTP 身份验证的凭据存储到服务器端的数据库中?

mysql - INSERT...SELECT 负 double 值损坏

java - 使用post方法将数据从java android发送到webserver

mysql - 尝试编写查询以查看业务和地址信息

mysql - 通过最大列值选择每个唯一列值限制一行

sql - 如何根据另一张表中的最高纳税额获取一张表中的名称?