当前位置: 首页>>代码示例>>PHP>>正文


PHP PMA_generateCharsetQueryPart函数代码示例

本文整理汇总了PHP中PMA_generateCharsetQueryPart函数的典型用法代码示例。如果您正苦于以下问题:PHP PMA_generateCharsetQueryPart函数的具体用法?PHP PMA_generateCharsetQueryPart怎么用?PHP PMA_generateCharsetQueryPart使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了PMA_generateCharsetQueryPart函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testGenerateCharsetQueryPart

    /**
     * Test for PMA_generateCharsetQueryPart
     *
     * @param bool   $drizzle   Value for PMA_DRIZZLE
     * @param string $collation Collation
     * @param string $expected  Expected Charset Query
     *
     * @return void
     * @test
     * @dataProvider charsetQueryData
     */
    public function testGenerateCharsetQueryPart(
        $drizzle, $collation, $expected
    ) {
        if (! PMA_HAS_RUNKIT) {
            $this->markTestSkipped(
                'Cannot redefine constant - missing runkit extension'
            );
        } else {
            $restoreDrizzle = '';

            if (defined('PMA_DRIZZLE')) {
                $restoreDrizzle = PMA_DRIZZLE;
                runkit_constant_redefine('PMA_DRIZZLE', $drizzle);
            } else {
                $restoreDrizzle = 'PMA_TEST_CONSTANT_REMOVE';
                define('PMA_DRIZZLE', $drizzle);
            }

            $this->assertEquals(
                $expected,
                PMA_generateCharsetQueryPart($collation)
            );

            if ($restoreDrizzle === 'PMA_TEST_CONSTANT_REMOVE') {
                runkit_constant_remove('PMA_DRIZZLE');
            } else {
                runkit_constant_redefine('PMA_DRIZZLE', $restoreDrizzle);
            }
        }
    }
开发者ID:roccivic,项目名称:phpmyadmin,代码行数:41,代码来源:PMA_mysql_charsets_test.php

示例2: PMA_DBI_fetch_value

 }
 if (!isset($newname) || !strlen($newname)) {
     $message = PMA_Message::error('strDatabaseEmpty');
 } 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`
         $lower_case_table_names = PMA_DBI_fetch_value('SHOW VARIABLES LIKE "lower_case_table_names"', 0, 1);
         if ($lower_case_table_names === '1') {
             $newname = 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;
         PMA_DBI_query($local_query);
         // rebuild the database list because PMA_Table::moveCopy
         // checks in this list if the target db exists
         $GLOBALS['pma']->databases->build();
     }
     if (isset($GLOBALS['add_constraints'])) {
         $GLOBALS['sql_constraints_query_full_db'] = '';
     }
     $tables_full = PMA_DBI_get_tables_full($db);
     $views = array();
     foreach ($tables_full as $each_table => $tmp) {
         // to be able to rename a db containing views, we
开发者ID:lavsurgut,项目名称:autoauc2,代码行数:31,代码来源:db_operations.php

示例3: PMA_sendHeaderLocation

        if ($response->isAjax()) {
            $response->setRequestStatus(false);
            $response->addJSON('message', Message::error(__('No databases selected.')));
        } else {
            PMA_sendHeaderLocation($uri);
        }
        exit;
    }
}
// end if (ensures db exists)
/**
 * Changes database charset if requested by the user
 */
if (isset($_REQUEST['submitcollation']) && isset($_REQUEST['db_collation']) && !empty($_REQUEST['db_collation'])) {
    list($db_charset) = explode('_', $_REQUEST['db_collation']);
    $sql_query = 'ALTER DATABASE ' . PMA\libraries\Util::backquote($db) . ' DEFAULT' . PMA_generateCharsetQueryPart($_REQUEST['db_collation']);
    $result = $GLOBALS['dbi']->query($sql_query);
    $message = Message::success();
    unset($db_charset);
    /**
     * If we are in an Ajax request, let us stop the execution here. Necessary for
     * db charset change action on db_operations.php.  If this causes a bug on
     * other pages, we might have to move this to a different location.
     */
    if ($GLOBALS['is_ajax_request'] == true) {
        $response = PMA\libraries\Response::getInstance();
        $response->setRequestStatus($message->isSuccess());
        $response->addJSON('message', $message);
        exit;
    }
}
开发者ID:pjiahao,项目名称:phpmyadmin,代码行数:31,代码来源:db_common.inc.php

示例4: PMA_getTableCreationQuery

/**
 * Function to get table creation sql query
 *
 * @param string $db    database name
 * @param string $table table name
 *
 * @return string
 */
function PMA_getTableCreationQuery($db, $table)
{
    // get column addition statements
    $sql_statement = PMA_getColumnCreationStatements(true);
    // Builds the 'create table' statement
    $sql_query = 'CREATE TABLE ' . PMA\libraries\Util::backquote($db) . '.' . PMA\libraries\Util::backquote(trim($table)) . ' (' . $sql_statement . ')';
    // Adds table type, character set, comments and partition definition
    if (!empty($_REQUEST['tbl_storage_engine']) && $_REQUEST['tbl_storage_engine'] != 'Default') {
        $sql_query .= ' ENGINE = ' . $_REQUEST['tbl_storage_engine'];
    }
    if (!empty($_REQUEST['tbl_collation'])) {
        $sql_query .= PMA_generateCharsetQueryPart($_REQUEST['tbl_collation']);
    }
    if (!empty($_REQUEST['connection']) && !empty($_REQUEST['tbl_storage_engine']) && $_REQUEST['tbl_storage_engine'] == 'FEDERATED') {
        $sql_query .= " CONNECTION = '" . PMA\libraries\Util::sqlAddSlashes($_REQUEST['connection']) . "'";
    }
    if (!empty($_REQUEST['comment'])) {
        $sql_query .= ' COMMENT = \'' . PMA\libraries\Util::sqlAddSlashes($_REQUEST['comment']) . '\'';
    }
    $sql_query .= PMA_getPartitionsDefinition();
    $sql_query .= ';';
    return $sql_query;
}
开发者ID:rugbyprof,项目名称:phpmyadmin,代码行数:31,代码来源:create_addfield.lib.php

示例5: PMA_generateAlterTable

 function PMA_generateAlterTable($oldcol, $newcol, $full_field_type, $collation, $null, $default, $default_current_timestamp, $extra, $comment = '')
 {
     // $default_current_timestamp has priority over $default
     // TODO: on the interface, some js to clear the default value
     // when the default current_timestamp is checked
     $query = PMA_backquote($oldcol) . ' ' . PMA_backquote($newcol) . ' ' . $full_field_type;
     if (PMA_MYSQL_INT_VERSION >= 40100 && !empty($collation) && $collation != 'NULL' && preg_match('@^(TINYTEXT|TEXT|MEDIUMTEXT|LONGTEXT|VARCHAR\\(\\d+\\)|CHAR\\(\\d+\\))$@i', $full_field_type)) {
         $query .= PMA_generateCharsetQueryPart($collation);
     }
     if (!empty($null)) {
         $query .= ' NOT NULL';
     } else {
         $query .= ' NULL';
     }
     if ($default_current_timestamp && strpos(' ' . strtoupper($full_field_type), 'TIMESTAMP') == 1) {
         $query .= ' DEFAULT CURRENT_TIMESTAMP';
         // 0 is empty in PHP
     } elseif (!empty($default) || $default == '0') {
         if (strtoupper($default) == 'NULL') {
             $query .= ' DEFAULT NULL';
         } else {
             $query .= ' DEFAULT \'' . PMA_sqlAddslashes($default) . '\'';
         }
     }
     if (!empty($extra)) {
         $query .= ' ' . $extra;
     }
     if (PMA_MYSQL_INT_VERSION >= 40100 && !empty($comment)) {
         $query .= " COMMENT '" . PMA_sqlAddslashes($comment) . "'";
     }
     return $query;
 }
开发者ID:mike503,项目名称:phpmyadmin,代码行数:32,代码来源:common.lib.php

示例6: PMA_backquote

 * Updates table comment, type and options if required
 */
if (isset($submitcomment)) {
    if (empty($prev_comment) || urldecode($prev_comment) != $comment) {
        $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' COMMENT = \'' . PMA_sqlAddslashes($comment) . '\'';
        $result = PMA_DBI_query($sql_query);
        $message = $strSuccess;
    }
}
if (isset($submittype)) {
    $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' TYPE = ' . $tbl_type;
    $result = PMA_DBI_query($sql_query);
    $message = $strSuccess;
}
if (isset($submitcollation)) {
    $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' DEFAULT' . PMA_generateCharsetQueryPart($tbl_collation);
    $result = PMA_DBI_query($sql_query);
    $message = $strSuccess;
    unset($tbl_collation);
}
if (isset($submitoptions)) {
    $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . (isset($pack_keys) ? ' pack_keys=1' : ' pack_keys=0') . (isset($checksum) ? ' checksum=1' : ' checksum=0') . (isset($delay_key_write) ? ' delay_key_write=1' : ' delay_key_write=0') . (!empty($auto_increment) ? ' auto_increment=' . PMA_sqlAddslashes($auto_increment) : '');
    $result = PMA_DBI_query($sql_query);
    $message = $strSuccess;
}
/**
 * Reordering the table has been requested by the user
 */
if (isset($submitorderby) && !empty($order_field)) {
    $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' ORDER BY ' . PMA_backquote(urldecode($order_field));
    if (isset($order_order) && $order_order == 'desc') {
开发者ID:alexhava,项目名称:elixirjuice,代码行数:31,代码来源:tbl_properties_operations.php

示例7: PMA_DBI_select_db

    // Not a valid db name -> back to the welcome page
    if (strlen($db)) {
        $is_db = PMA_DBI_select_db($db);
    }
    if (! strlen($db) || !$is_db) {
        PMA_sendHeaderLocation($cfg['PmaAbsoluteUri'] . 'main.php?' . PMA_generate_common_url('', '', '&') . (isset($message) ? '&message=' . urlencode($message) : '') . '&reload=1');
        exit;
    }
} // end if (ensures db exists)

/**
 * Changes database charset if requested by the user
 */
if (isset($submitcollation) && !empty($db_collation)) {
    list($db_charset) = explode('_', $db_collation);
    $sql_query        = 'ALTER DATABASE ' . PMA_backquote($db) . ' DEFAULT' . PMA_generateCharsetQueryPart($db_collation);
    $result           = PMA_DBI_query($sql_query);
    $message          = PMA_Message::success();
    unset($db_charset, $db_collation);
}

$GLOBALS['js_include'][] = 'functions.js';
require_once './libraries/header.inc.php';

/**
 * Set parameters for links
 */
$url_query = PMA_generate_common_url($db);

?>
开发者ID:blumenbach,项目名称:blumenbach-online.de,代码行数:30,代码来源:db_common.inc.php

示例8: FULLTEXT

 if (strlen($fulltext)) {
     $sql_query .= ', FULLTEXT (' . $fulltext . ')';
     $query_cpy .= ',' . "\n" . '  FULLTEXT (' . $fulltext . ')';
 }
 unset($fulltext);
 // Builds the 'create table' statement
 $sql_query = 'CREATE TABLE ' . PMA_backquote($table) . ' (' . $sql_query . ')';
 $query_cpy = 'CREATE TABLE ' . PMA_backquote($table) . ' (' . $query_cpy . "\n" . ')';
 // Adds table type, character set and comments
 if (!empty($tbl_type) && $tbl_type != 'Default') {
     $sql_query .= ' ' . PMA_ENGINE_KEYWORD . ' = ' . $tbl_type;
     $query_cpy .= "\n" . PMA_ENGINE_KEYWORD . ' = ' . $tbl_type;
 }
 if (PMA_MYSQL_INT_VERSION >= 40100 && !empty($tbl_collation)) {
     $sql_query .= PMA_generateCharsetQueryPart($tbl_collation);
     $query_cpy .= "\n" . PMA_generateCharsetQueryPart($tbl_collation);
 }
 if (!empty($comment)) {
     $sql_query .= ' COMMENT = \'' . PMA_sqlAddslashes($comment) . '\'';
     $query_cpy .= "\n" . 'COMMENT = \'' . PMA_sqlAddslashes($comment) . '\'';
 }
 // Executes the query
 $error_create = false;
 $result = PMA_DBI_try_query($sql_query) or $error_create = true;
 if ($error_create == false) {
     $sql_query = $query_cpy . ';';
     unset($query_cpy);
     $message = $strTable . ' ' . htmlspecialchars($table) . ' ' . $strHasBeenCreated;
     // garvin: If comments were sent, enable relation stuff
     require_once './libs/relation.lib.php';
     require_once './libs/transformations.lib.php';
开发者ID:BGCX261,项目名称:zhe-project-agri-hg-to-git,代码行数:31,代码来源:tbl_create.php

示例9: generateFieldSpec

 /**
  * generates column specification for ALTER or CREATE TABLE syntax
  *
  * @param string      $name           name
  * @param string      $type           type ('INT', 'VARCHAR', 'BIT', ...)
  * @param string      $index          index
  * @param string      $length         length ('2', '5,2', '', ...)
  * @param string      $attribute      attribute
  * @param string      $collation      collation
  * @param bool|string $null           with 'NULL' or 'NOT NULL'
  * @param string      $default_type   whether default is CURRENT_TIMESTAMP,
  *                                    NULL, NONE, USER_DEFINED
  * @param string      $default_value  default value for USER_DEFINED
  *                                    default type
  * @param string      $extra          'AUTO_INCREMENT'
  * @param string      $comment        field comment
  * @param array       &$field_primary list of fields for PRIMARY KEY
  * @param string      $move_to        new position for column
  *
  * @todo    move into class PMA_Column
  * @todo on the interface, some js to clear the default value when the
  * default current_timestamp is checked
  *
  * @return string  field specification
  */
 static function generateFieldSpec($name, $type, $index, $length = '', $attribute = '', $collation = '', $null = false, $default_type = 'USER_DEFINED', $default_value = '', $extra = '', $comment = '', &$field_primary = null, $move_to = '')
 {
     $is_timestamp = strpos(strtoupper($type), 'TIMESTAMP') !== false;
     $query = PMA_Util::backquote($name) . ' ' . $type;
     // allow the possibility of a length for TIME, DATETIME and TIMESTAMP
     // (will work on MySQL >= 5.6.4)
     //
     // MySQL permits a non-standard syntax for FLOAT and DOUBLE,
     // see http://dev.mysql.com/doc/refman/5.5/en/floating-point-types.html
     //
     if ($length != '' && !preg_match('@^(DATE|TINYBLOB|TINYTEXT|BLOB|TEXT|' . 'MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|SERIAL|BOOLEAN|UUID)$@i', $type)) {
         $query .= '(' . $length . ')';
     }
     if ($attribute != '') {
         $query .= ' ' . $attribute;
     }
     $matches = preg_match('@^(TINYTEXT|TEXT|MEDIUMTEXT|LONGTEXT|VARCHAR|CHAR|ENUM|SET)$@i', $type);
     if (!empty($collation) && $collation != 'NULL' && $matches) {
         $query .= PMA_generateCharsetQueryPart($collation);
     }
     if ($null !== false) {
         if ($null == 'NULL') {
             $query .= ' NULL';
         } else {
             $query .= ' NOT NULL';
         }
     }
     switch ($default_type) {
         case 'USER_DEFINED':
             if ($is_timestamp && $default_value === '0') {
                 // a TIMESTAMP does not accept DEFAULT '0'
                 // but DEFAULT 0 works
                 $query .= ' DEFAULT 0';
             } elseif ($type == 'BIT') {
                 $query .= ' DEFAULT b\'' . preg_replace('/[^01]/', '0', $default_value) . '\'';
             } elseif ($type == 'BOOLEAN') {
                 if (preg_match('/^1|T|TRUE|YES$/i', $default_value)) {
                     $query .= ' DEFAULT TRUE';
                 } elseif (preg_match('/^0|F|FALSE|NO$/i', $default_value)) {
                     $query .= ' DEFAULT FALSE';
                 } else {
                     // Invalid BOOLEAN value
                     $query .= ' DEFAULT \'' . PMA_Util::sqlAddSlashes($default_value) . '\'';
                 }
             } else {
                 $query .= ' DEFAULT \'' . PMA_Util::sqlAddSlashes($default_value) . '\'';
             }
             break;
         case 'NULL':
             // If user uncheck null checkbox and not change default value null,
             // default value will be ignored.
             if ($null !== false && $null != 'NULL') {
                 break;
             }
             // otherwise, fall to next case (no break; here)
         // otherwise, fall to next case (no break; here)
         case 'CURRENT_TIMESTAMP':
             $query .= ' DEFAULT ' . $default_type;
             break;
         case 'NONE':
         default:
             break;
     }
     if (!empty($extra)) {
         $query .= ' ' . $extra;
         // Force an auto_increment field to be part of the primary key
         // even if user did not tick the PK box;
         if ($extra == 'AUTO_INCREMENT') {
             $primary_cnt = count($field_primary);
             if (1 == $primary_cnt) {
                 for ($j = 0; $j < $primary_cnt; $j++) {
                     if ($field_primary[$j] == $index) {
                         break;
                     }
                 }
//.........这里部分代码省略.........
开发者ID:minggLu,项目名称:openemr,代码行数:101,代码来源:Table.class.php

示例10: preg_replace

     }
 }
 // end for
 $fulltext = preg_replace('@, $@', '', $fulltext);
 if (strlen($fulltext)) {
     $sql_query .= ', FULLTEXT (' . $fulltext . ')';
 }
 unset($fulltext);
 // Builds the 'create table' statement
 $sql_query = 'CREATE TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' (' . $sql_query . ')';
 // Adds table type, character set and comments
 if (!empty($tbl_type) && $tbl_type != 'Default') {
     $sql_query .= ' ' . PMA_ENGINE_KEYWORD . ' = ' . $tbl_type;
 }
 if (PMA_MYSQL_INT_VERSION >= 40100 && !empty($tbl_collation)) {
     $sql_query .= PMA_generateCharsetQueryPart($tbl_collation);
 }
 if (!empty($comment)) {
     $sql_query .= ' COMMENT = \'' . PMA_sqlAddslashes($comment) . '\'';
 }
 // Executes the query
 $result = PMA_DBI_try_query($sql_query);
 if ($result) {
     // garvin: If comments were sent, enable relation stuff
     require_once './libraries/relation.lib.php';
     require_once './libraries/transformations.lib.php';
     $cfgRelation = PMA_getRelationsParam();
     // garvin: Update comment table, if a comment was set.
     if (isset($field_comments) && is_array($field_comments) && $cfgRelation['commwork'] && PMA_MYSQL_INT_VERSION < 40100) {
         foreach ($field_comments as $fieldindex => $fieldcomment) {
             if (isset($field_name[$fieldindex]) && strlen($field_name[$fieldindex])) {
开发者ID:bharathi26,项目名称:openemr,代码行数:31,代码来源:tbl_create.php

示例11: createDatabaseAction

 /**
  * Handles creating a new database
  *
  * @return void
  */
 public function createDatabaseAction()
 {
     /**
      * Builds and executes the db creation sql query
      */
     $sql_query = 'CREATE DATABASE ' . Util::backquote($_POST['new_db']);
     if (!empty($_POST['db_collation'])) {
         list($db_charset) = explode('_', $_POST['db_collation']);
         if (in_array($db_charset, $GLOBALS['mysql_charsets']) && in_array($_POST['db_collation'], $GLOBALS['mysql_collations'][$db_charset])) {
             $sql_query .= ' DEFAULT' . PMA_generateCharsetQueryPart($_POST['db_collation']);
         }
     }
     $sql_query .= ';';
     $result = $GLOBALS['dbi']->tryQuery($sql_query);
     if (!$result) {
         // avoid displaying the not-created db name in header or navi panel
         $GLOBALS['db'] = '';
         $message = Message::rawError($GLOBALS['dbi']->getError());
         $this->response->setRequestStatus(false);
         $this->response->addJSON('message', $message);
     } else {
         $GLOBALS['db'] = $_POST['new_db'];
         $message = Message::success(__('Database %1$s has been created.'));
         $message->addParam($_POST['new_db']);
         $this->response->addJSON('message', $message);
         $this->response->addJSON('sql_query', Util::getMessage(null, $sql_query, 'success'));
         $url_query = PMA_URL_getCommon(array('db' => $_POST['new_db']));
         $this->response->addJSON('url_query', Util::getScriptNameForOption($GLOBALS['cfg']['DefaultTabDatabase'], 'database') . $url_query . '&amp;db=' . urlencode($_POST['new_db']));
     }
 }
开发者ID:flash1452,项目名称:phpmyadmin,代码行数:35,代码来源:ServerDatabasesController.php

示例12: testGenerateCharsetQueryPart

 /**
  * Test for PMA_generateCharsetQueryPart
  *
  * @param string $collation Collation
  * @param string $expected  Expected Charset Query
  *
  * @return void
  * @test
  * @dataProvider charsetQueryData
  */
 public function testGenerateCharsetQueryPart($collation, $expected)
 {
     $this->assertEquals($expected, PMA_generateCharsetQueryPart($collation));
 }
开发者ID:flash1452,项目名称:phpmyadmin,代码行数:14,代码来源:PMA_mysql_charsets_test.php

示例13: PMA_generate_common_url

        }
    }
    // Not a valid db name -> back to the welcome page
    $uri = $cfg['PmaAbsoluteUri'] . 'main.php?' . PMA_generate_common_url('', '', '&') . (isset($message) ? '&message=' . urlencode($message) : '') . '&reload=1';
    if (!strlen($db) || !$is_db) {
        PMA_sendHeaderLocation($uri);
        exit;
    }
}
// end if (ensures db exists)
/**
 * Changes database charset if requested by the user
 */
if (isset($submitcollation) && !empty($db_collation)) {
    list($db_charset) = explode('_', $db_collation);
    $sql_query = 'ALTER DATABASE ' . PMA_CommonFunctions::getInstance()->backquote($db) . ' DEFAULT' . PMA_generateCharsetQueryPart($db_collation);
    $result = PMA_DBI_query($sql_query);
    $message = PMA_Message::success();
    unset($db_charset, $db_collation);
    /**
     * If we are in an Ajax request, let us stop the execution here. Necessary for
     * db charset change action on db_operations.php.  If this causes a bug on
     * other pages, we might have to move this to a different location.
     */
    if ($GLOBALS['is_ajax_request'] == true) {
        $response = PMA_Response::getInstance();
        $response->isSuccess($message->isSuccess());
        $response->addJSON('message', $message);
        exit;
    }
}
开发者ID:rajatsinghal,项目名称:phpmyadmin,代码行数:31,代码来源:db_common.inc.php

示例14: PMA_URL_getCommon

require_once 'libraries/common.inc.php';
require_once 'libraries/mysql_charsets.inc.php';
require_once 'libraries/replication.inc.php';
require 'libraries/build_html_for_db.lib.php';
/**
 * Defines the url to return to in case of error in a sql statement
 */
$err_url = 'index.php' . PMA_URL_getCommon();
/**
 * Builds and executes the db creation sql query
 */
$sql_query = 'CREATE DATABASE ' . PMA\libraries\Util::backquote($_POST['new_db']);
if (!empty($_POST['db_collation'])) {
    list($db_charset) = explode('_', $_POST['db_collation']);
    if (in_array($db_charset, $mysql_charsets) && in_array($_POST['db_collation'], $mysql_collations[$db_charset])) {
        $sql_query .= ' DEFAULT' . PMA_generateCharsetQueryPart($_POST['db_collation']);
    }
    $db_collation_for_ajax = $_POST['db_collation'];
    unset($db_charset);
}
$sql_query .= ';';
$result = $GLOBALS['dbi']->tryQuery($sql_query);
if (!$result) {
    $message = PMA\libraries\Message::rawError($GLOBALS['dbi']->getError());
    // avoid displaying the not-created db name in header or navi panel
    $GLOBALS['db'] = '';
    $GLOBALS['table'] = '';
    /**
     * If in an Ajax request, just display the message with {@link PMA\libraries\Response}
     */
    if ($GLOBALS['is_ajax_request'] == true) {
开发者ID:netroby,项目名称:phpmyadmin,代码行数:31,代码来源:db_create.php

示例15: generateFieldSpec

 /**
  * generates column specification for ALTER or CREATE TABLE syntax
  *
  * @param string      $name          name
  * @param string      $type          type ('INT', 'VARCHAR', 'BIT', ...)
  * @param string      $length        length ('2', '5,2', '', ...)
  * @param string      $attribute     attribute
  * @param string      $collation     collation
  * @param bool|string $null          with 'NULL' or 'NOT NULL'
  * @param string      $default_type  whether default is CURRENT_TIMESTAMP,
  *                                   NULL, NONE, USER_DEFINED
  * @param string      $default_value default value for USER_DEFINED
  *                                   default type
  * @param string      $extra         'AUTO_INCREMENT'
  * @param string      $comment       field comment
  * @param string      $virtuality    virtuality of the column
  * @param string      $expression    expression for the virtual column
  * @param string      $move_to       new position for column
  *
  * @todo    move into class PMA_Column
  * @todo on the interface, some js to clear the default value when the
  * default current_timestamp is checked
  *
  * @return string  field specification
  */
 static function generateFieldSpec($name, $type, $length = '', $attribute = '', $collation = '', $null = false, $default_type = 'USER_DEFINED', $default_value = '', $extra = '', $comment = '', $virtuality = '', $expression = '', $move_to = '')
 {
     $is_timestamp = mb_strpos(mb_strtoupper($type), 'TIMESTAMP') !== false;
     $query = PMA_Util::backquote($name) . ' ' . $type;
     // allow the possibility of a length for TIME, DATETIME and TIMESTAMP
     // (will work on MySQL >= 5.6.4)
     //
     // MySQL permits a non-standard syntax for FLOAT and DOUBLE,
     // see http://dev.mysql.com/doc/refman/5.5/en/floating-point-types.html
     //
     $pattern = '@^(DATE|TINYBLOB|TINYTEXT|BLOB|TEXT|' . 'MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|SERIAL|BOOLEAN|UUID)$@i';
     if ($length != '' && !preg_match($pattern, $type)) {
         $query .= '(' . $length . ')';
     }
     if ($virtuality) {
         $query .= ' AS (' . $expression . ') ' . $virtuality;
     } else {
         if ($attribute != '') {
             $query .= ' ' . $attribute;
         }
         $matches = preg_match('@^(TINYTEXT|TEXT|MEDIUMTEXT|LONGTEXT|VARCHAR|CHAR|ENUM|SET)$@i', $type);
         if (!empty($collation) && $collation != 'NULL' && $matches) {
             $query .= PMA_generateCharsetQueryPart($collation);
         }
         if ($null !== false) {
             if ($null == 'NULL') {
                 $query .= ' NULL';
             } else {
                 $query .= ' NOT NULL';
             }
         }
         switch ($default_type) {
             case 'USER_DEFINED':
                 if ($is_timestamp && $default_value === '0') {
                     // a TIMESTAMP does not accept DEFAULT '0'
                     // but DEFAULT 0 works
                     $query .= ' DEFAULT 0';
                 } elseif ($type == 'BIT') {
                     $query .= ' DEFAULT b\'' . preg_replace('/[^01]/', '0', $default_value) . '\'';
                 } elseif ($type == 'BOOLEAN') {
                     if (preg_match('/^1|T|TRUE|YES$/i', $default_value)) {
                         $query .= ' DEFAULT TRUE';
                     } elseif (preg_match('/^0|F|FALSE|NO$/i', $default_value)) {
                         $query .= ' DEFAULT FALSE';
                     } else {
                         // Invalid BOOLEAN value
                         $query .= ' DEFAULT \'' . PMA_Util::sqlAddSlashes($default_value) . '\'';
                     }
                 } elseif ($type == 'BINARY' || $type == 'VARBINARY') {
                     $query .= ' DEFAULT 0x' . $default_value;
                 } else {
                     $query .= ' DEFAULT \'' . PMA_Util::sqlAddSlashes($default_value) . '\'';
                 }
                 break;
                 /** @noinspection PhpMissingBreakStatementInspection */
             /** @noinspection PhpMissingBreakStatementInspection */
             case 'NULL':
                 // If user uncheck null checkbox and not change default value null,
                 // default value will be ignored.
                 if ($null !== false && $null !== 'NULL') {
                     break;
                 }
                 // else fall-through intended, no break here
             // else fall-through intended, no break here
             case 'CURRENT_TIMESTAMP':
                 $query .= ' DEFAULT ' . $default_type;
                 break;
             case 'NONE':
             default:
                 break;
         }
         if (!empty($extra)) {
             $query .= ' ' . $extra;
         }
     }
//.........这里部分代码省略.........
开发者ID:TheBlackBloodyUnicorn,项目名称:pico_wanderblog,代码行数:101,代码来源:Table.class.php


注:本文中的PMA_generateCharsetQueryPart函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。