wpdb::select() – Selects a database using the current or provided database connection.

You appear to be a bot. Output may be restricted

Description

Selects a database using the current or provided database connection.

The database name will be changed based on the current database connection. On failure, the execution will bail and display a DB error.

Usage

wpdb::select( $db, $dbh );

Parameters

$db
( string ) required – Database name.
$dbh
( mysqli|resource ) optional – Optional database connection.

Returns

void

Source

File name: wordpress/wp-includes/wp-db.php


Lines:

1 to 52 of 52
  public function select( $db, $dbh = null ) {
    if ( is_null( $dbh ) ) {
      $dbh = $this->dbh;
    }

    if ( $this->use_mysqli ) {
      $success = mysqli_select_db( $dbh, $db );
    } else {
      $success = mysql_select_db( $db, $dbh );
    }
    if ( ! $success ) {
      $this->ready = false;
      if ( ! did_action( 'template_redirect' ) ) {
        wp_load_translations_early();

        $message = '<h1>' . __( 'Cannot select database' ) . "</h1>\n";

        $message .= '<p>' . sprintf(
          /* translators: %s: Database name. */
          __( 'The database server could be connected to (which means your username and password is okay) but the %s database could not be selected.' ),
          '<code>' . htmlspecialchars( $db, ENT_QUOTES ) . '</code>'
        ) . "</p>\n";

        $message .= "<ul>\n";
        $message .= '<li>' . __( 'Are you sure it exists?' ) . "</li>\n";

        $message .= '<li>' . sprintf(
          /* translators: 1: Database user, 2: Database name. */
          __( 'Does the user %1$s have permission to use the %2$s database?' ),
          '<code>' . htmlspecialchars( $this->dbuser, ENT_QUOTES ) . '</code>',
          '<code>' . htmlspecialchars( $db, ENT_QUOTES ) . '</code>'
        ) . "</li>\n";

        $message .= '<li>' . sprintf(
          /* translators: %s: Database name. */
          __( 'On some systems the name of your database is prefixed with your username, so it would be like <code>username_%1$s</code>. Could that be the problem?' ),
          htmlspecialchars( $db, ENT_QUOTES )
        ) . "</li>\n";

        $message .= "</ul>\n";

        $message .= '<p>' . sprintf(
          /* translators: %s: Support forums URL. */
          __( 'If you do not know how to set up a database you should <strong>contact your host</strong>. If all else fails you may find help at the <a href="%s">WordPress Support Forums</a>.' ),
          __( 'https://wordpress.org/support/forums/' )
        ) . "</p>\n";

        $this->wpdb::bail( $message, 'db_select_fail' );
      }
    }
  }
 

 View on GitHub View on Trac