1.20.x database.inc DatabaseConnection::__construct($dsn, $username, $password, $driver_options = array())

File

includes/database/database.inc, line 326
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->pdo = new PDO($dsn, $username, $password, $driver_options);

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