WordPress.org

Make WordPress Core

Ticket #9747: 9747.patch

File 9747.patch, 840 bytes (added by hakre, 6 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>