wpdb::select( string $db, mysqli|resource $dbh = null )

Selects a database using the current or provided database connection.


Description

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


Top ↑

Parameters

$db string Required
Database name.
$dbh mysqli|resource Optional
database connection.

Default: null


Top ↑

Source

File: wp-includes/class-wpdb.php. View all references

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->bail( $message, 'db_select_fail' );
		}
	}
}


Top ↑

Changelog

Changelog
Version Description
0.71 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.