$ this-> db-> conn_id->在codeigniter中准备使用

时间:2014-10-09 04:26:11

标签: php codeigniter pdo

我正在尝试将codeigniter与pdo一起使用。

当我使用$query = $this->db->prepare(...);

时,我一直收到错误

但使用$query = $this->db->conn_id->prepare(...);

时没有错误

我偶然发现了conn_id,你能解释一下何时使用conn_id,甚至是什么是conn_id?

这是我在官方网站上找到的唯一文件,但它并没有多说。 https://www.codeigniter.com/user_guide/database/call_function.html

1 个答案:

答案 0 :(得分:3)

我想混淆来自命名。

$ db是类的实例,其连接属性称为conn_id

conn_id是根据return value of the parentdb_connect函数设置的:

$this->conn_id = parent::db_connect($persistent);

这里是db_connect

/**
 * Database connection
 *
 * @param   bool    $persistent
 * @return  object
 */
public function db_connect($persistent = FALSE)
{
    $this->options[PDO::ATTR_PERSISTENT] = $persistent;

    try
    {
        return new PDO($this->dsn, $this->username, $this->password, $this->options);
    }
    catch (PDOException $e)
    {
        if ($this->db_debug && empty($this->failover))
        {
            $this->display_error($e->getMessage(), '', TRUE);
        }

        return FALSE;
    }
}

源代码:

https://github.com/bcit-ci/CodeIgniter