function DatabaseConnection::__construct

7.x database.inc DatabaseConnection::__construct($dsn, $username, $password, $driver_options = array())
3 calls to DatabaseConnection::__construct()
DatabaseConnection_mysql::__construct in drupal-7.x/includes/database/mysql/database.inc
DatabaseConnection_pgsql::__construct in drupal-7.x/includes/database/pgsql/database.inc
DatabaseConnection_sqlite::__construct in drupal-7.x/includes/database/sqlite/database.inc
3 methods override DatabaseConnection::__construct()
DatabaseConnection_mysql::__construct in drupal-7.x/includes/database/mysql/database.inc
DatabaseConnection_pgsql::__construct in drupal-7.x/includes/database/pgsql/database.inc
DatabaseConnection_sqlite::__construct in drupal-7.x/includes/database/sqlite/database.inc

File

drupal-7.x/includes/database/database.inc, line 297
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.
  parent::__construct($dsn, $username, $password, $driver_options);

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