如何在Codeigniter中将数据库函数调用到自定义库中?

K C*_*oud 2 php codeigniter

我创建了一个库,并尝试通过codeigniter访问数据库.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Run Code Online (Sandbox Code Playgroud)

班级历史{

function __construct() {
    //$CI->load->database();
    //$this->load->library('database');
    $CI =& get_instance();
    $CI->load->database();
}

public function create_history($id){
    //$this->load->database();
    $sql = "INSERT INTO inventory_history SELECT null,i.* FROM inventory i where i.inventory_id = :id";
    $query = $this->CI->db->conn_id->prepare($sql);
    $query->bindParam(':id', $id, PDO::PARAM_INT);
    return $query->execute();
}}
Run Code Online (Sandbox Code Playgroud)

但我在插入查询附近收到错误.通过谷歌我去了一个告诉$this->ci->db用来执行查询的人.我无法指出数据库执行中出现错误的原因.如何在codeigniter中将数据库函数调用到我的自定义库中?

lyh*_*ong 15

是这个吗?

class YourLibName {
   private $CI;

   function __construct() {
       $this->CI =& get_instance();
       $this->CI->load->database();
   }

}
Run Code Online (Sandbox Code Playgroud)

更新:我认为你不应该在库中加载和使用数据库对象.您最好创建模型并从库中调用它.库应该是独立的,可以与其他应用程序一起使用.