3 calls to DatabaseConnection::__construct()
DatabaseConnection_mysql::__construct in includes/database/mysql/database.inc
DatabaseConnection_pgsql::__construct in includes/database/pgsql/database.inc
DatabaseConnection_sqlite::__construct in includes/database/sqlite/database.inc
3 methods override DatabaseConnection::__construct()
DatabaseConnection_mysql::__construct in includes/database/mysql/database.inc
DatabaseConnection_pgsql::__construct in includes/database/pgsql/database.inc
DatabaseConnection_sqlite::__construct in includes/database/sqlite/database.inc

File

includes/database/database.inc, line 327
Core systems for the database layer.

Class

DatabaseConnection
Base Database API class.

Code

function __construct($dsn, $username, $password, $driver_options = array()) {

  // Initialize and prepare the connection prefix.
  $this
    ->setPrefix(isset($this->connectionOptions['prefix']) ? $this->connectionOptions['prefix'] : '');

  // Because the other methods don't seem to work right.
  $driver_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;

  // Call PDO::__construct and PDO::setAttribute.
  $this->connection = new PDO($dsn, $username, $password, $driver_options);

  // Set a Statement class, unless the driver opted out.
  if (!empty($this->statementClass)) {
    $this->connection
      ->setAttribute(PDO::ATTR_STATEMENT_CLASS, array(
      $this->statementClass,
      array(
        $this,
      ),
    ));
  }
}