function Connection::__construct

Same name in this branch
  1. 11.x core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection::__construct()
  2. 11.x core/modules/mysql/src/Driver/Database/mysql/Connection.php \Drupal\mysql\Driver\Database\mysql\Connection::__construct()
  3. 11.x core/modules/pgsql/src/Driver/Database/pgsql/Connection.php \Drupal\pgsql\Driver\Database\pgsql\Connection::__construct()
  4. 11.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::__construct()
Same name and namespace in other branches
  1. 9 core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection::__construct()
  2. 9 core/modules/mysql/src/Driver/Database/mysql/Connection.php \Drupal\mysql\Driver\Database\mysql\Connection::__construct()
  3. 9 core/modules/pgsql/src/Driver/Database/pgsql/Connection.php \Drupal\pgsql\Driver\Database\pgsql\Connection::__construct()
  4. 9 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::__construct()
  5. 8.9.x core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Connection.php \Drupal\driver_test\Driver\Database\DrivertestMysqlDeprecatedVersion\Connection::__construct()
  6. 8.9.x core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php \Drupal\Core\Database\Driver\sqlite\Connection::__construct()
  7. 8.9.x core/lib/Drupal/Core/Database/Driver/mysql/Connection.php \Drupal\Core\Database\Driver\mysql\Connection::__construct()
  8. 8.9.x core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php \Drupal\Core\Database\Driver\pgsql\Connection::__construct()
  9. 8.9.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::__construct()
  10. 10 core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection::__construct()
  11. 10 core/modules/mysql/src/Driver/Database/mysql/Connection.php \Drupal\mysql\Driver\Database\mysql\Connection::__construct()
  12. 10 core/modules/pgsql/src/Driver/Database/pgsql/Connection.php \Drupal\pgsql\Driver\Database\pgsql\Connection::__construct()
  13. 10 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::__construct()

Overrides Connection::__construct

File

core/modules/mysqli/src/Driver/Database/mysqli/Connection.php, line 25

Class

Connection
MySQLi implementation of \Drupal\Core\Database\Connection.

Namespace

Drupal\mysqli\Driver\Database\mysqli

Code

public function __construct(\mysqli $connection, array $connectionOptions = []) {
  // If the SQL mode doesn't include 'ANSI_QUOTES' (explicitly or via a
  // combination mode), then MySQL doesn't interpret a double quote as an
  // identifier quote, in which case use the non-ANSI-standard backtick.
  //
  // @see https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_ansi_quotes
  $ansiQuotesModes = [
    'ANSI_QUOTES',
    'ANSI',
  ];
  $isAnsiQuotesMode = FALSE;
  if (isset($connectionOptions['init_commands']['sql_mode'])) {
    foreach ($ansiQuotesModes as $mode) {
      // None of the modes in $ansiQuotesModes are substrings of other modes
      // that are not in $ansiQuotesModes, so a simple stripos() does not
      // return false positives.
      if (stripos($connectionOptions['init_commands']['sql_mode'], $mode) !== FALSE) {
        $isAnsiQuotesMode = TRUE;
        break;

      }
    }
  }
  if ($this->identifierQuotes === [
    '"',
    '"',
  ] && !$isAnsiQuotesMode) {
    $this->identifierQuotes = [
      '`',
      '`',
    ];
  }
  BaseConnection::__construct($connection, $connectionOptions);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.