WordPress.org

Make WordPress Core

Ticket #9747: 9747.2.patch

File 9747.2.patch, 1.3 KB (added by hakre, 9 years ago)

Code moved into installing only; CREATE SQL-Statement fixed.

  • wp-includes/wp-db.php

     
    369369                        }
    370370                }
    371371
     372                if (WP_INSTALLING)
     373                        $this->_fuzzy_createdb($dbname);
     374
    372375                $this->select($dbname);
    373376        }
    374377
     
    414417                return $old_prefix;
    415418        }
    416419
     420        /** create a database only if it seems to be needed
     421         *
     422         * Creates a database using the current database connection in case
     423         * it is not currently select-able.
     424         *
     425         * Used for install purposes.
     426         *
     427         * @since 2.8
     428         * @access private
     429         * @see constructor of this class
     430         *
     431         * @param string $db MySQL database name
     432         * @return void
     433         */
     434        function _fuzzy_createdb($db) {         
     435                // ensure being connected.
     436                if ( !$this->dbh ) return;
     437                // proflems already? then nothing to touch.
     438                if ( mysql_errno($this->dbh) ) return ;
     439                       
     440                // perform database creation as needed                                                                         
     441                if (!@mysql_select_db($db, $this->dbh))
     442                        // create database only if it does not exists (Error Number 1049 / Unknown database 'XYZ').                     
     443                        if ( 1049 == mysql_errno($this->dbh) )
     444                                $this->query("CREATE DATABASE `$db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;");                             
     445        }
     446
    417447        /**
    418448         * Selects a database using the current database connection.
    419449         *