Same name in this branch
  1. 4.6.x includes/database.pgsql.inc \db_connect()
  2. 4.6.x includes/database.mysql.inc \db_connect()
Same name and namespace in other branches
  1. 4.7.x includes/database.pgsql.inc \db_connect()
  2. 4.7.x includes/database.mysqli.inc \db_connect()
  3. 4.7.x includes/database.mysql.inc \db_connect()
  4. 5.x includes/database.pgsql.inc \db_connect()
  5. 5.x includes/database.mysqli.inc \db_connect()
  6. 5.x includes/database.mysql.inc \db_connect()
  7. 6.x includes/database.pgsql.inc \db_connect()
  8. 6.x includes/database.mysqli.inc \db_connect()
  9. 6.x includes/database.mysql.inc \db_connect()

Initialize a database connection.

Note that you can change the mysql_connect() call to mysql_pconnect() if you want to use persistent connections. This is not recommended on shared hosts, and might require additional database/webserver tuning. It can increase performance, however, when the overhead to connect to your database is high (e.g. your database and web server live on different machines).

Related topics

1 call to db_connect()
db_set_active in includes/database.inc
Activate a database for future queries.

File

includes/database.mysql.inc, line 22
Database interface code for MySQL database servers.

Code

function db_connect($url) {
  $url = parse_url($url);

  // Allow for non-standard MySQL port.
  if (isset($url['port'])) {
    $url['host'] = $url['host'] . ':' . $url['port'];
  }
  $connection = mysql_connect($url['host'], $url['user'], $url['pass'], TRUE) or die(mysql_error());
  mysql_select_db(substr($url['path'], 1), $connection) or die('unable to select database');
  return $connection;
}