php - CodeIgniter 中的 Mysql INSERT 和 SELECT

标签 php mysql codeigniter

我有 3 个多对多表,

book_id | book_name | rubric | autor

标题栏

rubric_id | rubric_name

作者

autor_id | first_name | last_name

我正在寻找选择一个表中所有数据的查询。 我通过这样的形式插入数据:

Controller

public function insert_data_to_db(){

        $form_data_book_name['book_name'] = $this->input->post('book_name');
        $form_data_autor['first_name'] = $this->input->post('first_name');
        $form_data_autor['last_name'] = $this->input->post('last_name');
        $form_data_rubric['rubric'] = $this->input->post('book_rubric');

        $proc = $this->book_model->insert_books_to_db($form_data_book_name);
        if($proc){
            echo "ok";
        }

        $proc1 = $this->book_model->insert_autors_to_db($form_data_autor);
        if($proc1){
            echo "ok";
        }

        $proc2 = $this->book_model->insert_rubric_to_db($form_data_rubric);
        if($proc2){
            echo "ok";
        }
}

型号

public function insert_books_to_db($form_data_book_name){
        return $this->db->insert('book',$form_data_book_name);
    }

    public function insert_autors_to_db($form_data_autor){
        return $this->db->insert('autor',$form_data_autor); 
    }

    public function insert_rubric_to_db($form_data_rubric){
        return $this->db->insert('book',$form_data_rubric); 
    }

为了选择数据,我在我的模型中使用这样的查询:

public function show_book_and_autor_name(){
        $query = $this->db->query("SELECT DISTINCT book.book_name, autor.first_name, autor.last_name, rubric.rubric_id FROM book LEFT JOIN autor ON book.autor=autor_id LEFT JOIN rubric ON book.rubric=rubric_id ORDER BY book.book_id;");
        return $query->result();
    }

如何在 autor 列中插入 | rubric 一些与表 AUTOR 和 RUBRIC 有关系的键?以及如何以正确的方式选择它?提前致谢!

最佳答案

在您的模型中,您可以使用以下函数:

$this->db->insert_id();

获取插入的ID。你可以这样做:

public function insert_books_to_db($form_data_book_name){
    if ( $this->db->insert('book',$form_data_book_name) )
        return $this->db->insert_id();
}

Read the CodeIgniter Documentation

关于php - CodeIgniter 中的 Mysql INSERT 和 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31770500/

相关文章:

php - 发送电子邮件时避免超过 500 行限制错误

mysql查询根据不同条件进行选择

php - CodeIgniter session 与 PHP session

php - ajax只工作一次然后点击后停止

php - 如何在php中动态显示博客列表

PHP 数组的平均时间

mysql - 从另一个表中选择最新行

PHP 和 MySQL 格式化输出

php - 在 CodeIgniter 中列出表的一些用户

codeigniter - 限制 codeigniter 管理面板的 ip 地址