我正在尝试将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
答案 0 :(得分:3)
我想混淆来自命名。
$ db是类的实例,其连接属性称为conn_id
。
conn_id
是根据return value of the parent类db_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;
}
}
源代码: