Gorkem Yontem
Gorkem Yontem

Reputation: 398

$this->db->conn_id->prepare usage in codeigniter

I am trying to use codeigniter with pdo.

I am keep getting error when i use $query = $this->db->prepare(...);

but no error when i use $query = $this->db->conn_id->prepare(...);

I found conn_id by chance, could you explain when to use conn_id, or even what is conn_id?

this is the only documentation that i found in the official website but it doesnt say much. https://www.codeigniter.com/user_guide/database/call_function.html

Upvotes: 0

Views: 3756

Answers (1)

meda
meda

Reputation: 45500

I guess confusion comes from the naming.

$db is an instance of a class , where its connection property is called conn_id.

conn_id is set from the return value of the parent class db_connect function:

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

here is 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;
    }
}

Source code:

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

Upvotes: 3

Related Questions