$move = true; } else { $move = false; } if (!isset($newname) || !strlen($newname)) { $message = PMA_Message::error(__('The database name is empty!')); } else { $sql_query = ''; // in case target db exists $_error = false; if ($move || isset($create_database_before_copying) && $create_database_before_copying) { // lower_case_table_names=1 `DB` becomes `db` if (!PMA_DRIZZLE) { $lower_case_table_names = PMA_DBI_fetch_value('SHOW VARIABLES LIKE "lower_case_table_names"', 0, 1); if ($lower_case_table_names === '1') { $newname = PMA_strtolower($newname); } } $local_query = 'CREATE DATABASE ' . PMA_backquote($newname); if (isset($db_collation)) { $local_query .= ' DEFAULT' . PMA_generateCharsetQueryPart($db_collation); } $local_query .= ';'; $sql_query = $local_query; // save the original db name because Tracker.class.php which // may be called under PMA_DBI_query() changes $GLOBALS['db'] // for some statements, one of which being CREATE DATABASE $original_db = $db; PMA_DBI_query($local_query); $db = $original_db; unset($original_db);
/** * Get sql query and create database before copy * * @return string $sql_query */ function PMA_getSqlQueryAndCreateDbBeforeCopy() { // lower_case_table_names=1 `DB` becomes `db` if (!PMA_DRIZZLE) { $lower_case_table_names = PMA_DBI_fetch_value('SHOW VARIABLES LIKE "lower_case_table_names"', 0, 1); if ($lower_case_table_names === '1') { $_REQUEST['newname'] = PMA_strtolower($_REQUEST['newname']); } } $local_query = 'CREATE DATABASE IF NOT EXISTS ' . PMA_Util::backquote($_REQUEST['newname']); if (isset($_REQUEST['db_collation'])) { $local_query .= ' DEFAULT' . PMA_generateCharsetQueryPart($_REQUEST['db_collation']); } $local_query .= ';'; $sql_query = $local_query; // save the original db name because Tracker.class.php which // may be called under PMA_DBI_query() changes $GLOBALS['db'] // for some statements, one of which being CREATE DATABASE $original_db = $GLOBALS['db']; PMA_DBI_query($local_query); $GLOBALS['db'] = $original_db; // rebuild the database list because PMA_Table::moveCopy // checks in this list if the target db exists $GLOBALS['pma']->databases->build(); return $sql_query; }