php - 如何使用 codeigniter 将自动增量 id 保存在另一个表中

标签 php mysql codeigniter

public function register() {
    if (isset($_POST['register'])) {
        $u = $_POST['uname'];
        $this->load->database();
        $this->load->database();
        $this->db->select('uname');
        $this->db->from('login');
        $this->db->where(array('uname' => $u));
        $query1 = $this->db->get();        
        if (!$query1->num_rows() == 1) {
            $data = array(
                'fname' => $_POST['fname'],
                'lname' => $_POST['lname'],
                'dob' => $_POST['dob'],
                'gender' => $_POST['gender'],
                'email' => $_POST['email']
            );
            $this->load->database();
            $this->db->insert('user', $data);
            $data1 = array(

                //'User_idUser'=>$_POST[$query1], 
                'uname' => $_POST['uname'],
                'upass' => $_POST['upass']

            );

            $this->db->insert('login', $data1);
        } else {

            $_SESSION["ex"] = "User All Ready Exists";
        }
    }
    $this->load->view('register');
}

我想获取用户表的自动增量 id 并将其作为外键保存在登录表中,以识别当前正在登录的用户。代码运行完美。

用户表是父表并且 登录表是一个子表。

最佳答案

用户按照代码获取上次插入操作的 ID。

$insert_id = $this->db->insert_id();

并使用$inser_id将其添加到您想要的任何表中。

因此,如果我打开代码的注释行,

$data1 = array(
        'User_idUser' => $insert_id,  // Assuming that UseridUser is your columne to store the Autoincremented user id from previous insert query.
        'uname' => $_POST['uname'],
        'upass' => $_POST['upass']
    );

关于php - 如何使用 codeigniter 将自动增量 id 保存在另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47534947/

相关文章:

Linux 上的 PHP 脚本换行符

php - md5(uniqid) 对随机唯一 token 有意义吗?

php - mysql execute() (PDO) 不在表中插入任何内容

java - 如何通过关联链接实体映射两个实体

php - 与 PHP 一起使用的哪些数据库共享相同(或大部分)的 SQL 语法?

javascript - PHP 检查文本框是否包含链接

php - Codeigniter group_by 无法正常工作

php - Redis Credis_Client php库

php - php命令行上没有ssl

mysql - 在Codeigniter中添加mysql表之间的关系