WordPress.org

Make WordPress Core

Ticket #9747: 9747.patch

File 9747.patch, 840 bytes (added by hakre, 9 years ago)

If dbselect fails the first time, database will be created.

  • wp-includes/wp-db.php

     
    426426         * @return null Always null.
    427427         */
    428428        function select($db) {
    429                 if (!@mysql_select_db($db, $this->dbh)) {
     429                static $select_error = false;
     430                               
     431                // if select fails, try to create the database
     432                if ( !$select_error && !@mysql_select_db($db, $this->dbh) ) {                   
     433                        $query = $this->prepare('CREATE DATABASE %s DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;', $db);
     434                        $this->query($query);
     435                        if ( !@mysql_select_db($db, $this->dbh) ) {
     436                                $select_error = true;
     437                        }                       
     438                }               
     439               
     440                if ( $select_error ) {
    430441                        $this->ready = false;
    431442                        $this->bail(sprintf(/*WP_I18N_DB_SELECT_DB*/'
    432443<h1>Can&#8217;t select database</h1>