本文整理汇总了PHP中PMA_Util::backquoteCompat方法的典型用法代码示例。如果您正苦于以下问题:PHP PMA_Util::backquoteCompat方法的具体用法?PHP PMA_Util::backquoteCompat怎么用?PHP PMA_Util::backquoteCompat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PMA_Util
的用法示例。
在下文中一共展示了PMA_Util::backquoteCompat方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: exportData
/**
* Outputs the content of a table in SQL format
*
* @param string $db database name
* @param string $table table name
* @param string $crlf the end of line sequence
* @param string $error_url the url to go back in case of error
* @param string $sql_query SQL query for obtaining data
*
* @return bool Whether it succeeded
*/
public function exportData($db, $table, $crlf, $error_url, $sql_query)
{
global $current_row, $sql_backquotes;
if (isset($GLOBALS['sql_compatibility'])) {
$compat = $GLOBALS['sql_compatibility'];
} else {
$compat = 'NONE';
}
$formatted_table_name = isset($GLOBALS['sql_backquotes']) ? PMA_Util::backquoteCompat($table, $compat) : '\'' . $table . '\'';
// Do not export data for a VIEW
// (For a VIEW, this is called only when exporting a single VIEW)
if (PMA_Table::isView($db, $table)) {
$head = $this->_possibleCRLF() . $this->_exportComment() . $this->_exportComment('VIEW ' . ' ' . $formatted_table_name) . $this->_exportComment(__('Data') . ': ' . __('None')) . $this->_exportComment() . $this->_possibleCRLF();
if (!PMA_exportOutputHandler($head)) {
return false;
}
return true;
}
// analyze the query to get the true column names, not the aliases
// (this fixes an undefined index, also if Complete inserts
// are used, we did not get the true column name in case of aliases)
$analyzed_sql = PMA_SQP_analyze(PMA_SQP_parse($sql_query));
$result = PMA_DBI_try_query($sql_query, null, PMA_DBI_QUERY_UNBUFFERED);
// a possible error: the table has crashed
$tmp_error = PMA_DBI_getError();
if ($tmp_error) {
return PMA_exportOutputHandler($this->_exportComment(__('Error reading data:') . ' (' . $tmp_error . ')'));
}
if ($result != false) {
$fields_cnt = PMA_DBI_num_fields($result);
// Get field information
$fields_meta = PMA_DBI_get_fields_meta($result);
$field_flags = array();
for ($j = 0; $j < $fields_cnt; $j++) {
$field_flags[$j] = PMA_DBI_field_flags($result, $j);
}
for ($j = 0; $j < $fields_cnt; $j++) {
if (isset($analyzed_sql[0]['select_expr'][$j]['column'])) {
$field_set[$j] = PMA_Util::backquoteCompat($analyzed_sql[0]['select_expr'][$j]['column'], $compat, $sql_backquotes);
} else {
$field_set[$j] = PMA_Util::backquoteCompat($fields_meta[$j]->name, $compat, $sql_backquotes);
}
}
if (isset($GLOBALS['sql_type']) && $GLOBALS['sql_type'] == 'UPDATE') {
// update
$schema_insert = 'UPDATE ';
if (isset($GLOBALS['sql_ignore'])) {
$schema_insert .= 'IGNORE ';
}
// avoid EOL blank
$schema_insert .= PMA_Util::backquoteCompat($table, $compat, $sql_backquotes) . ' SET';
} else {
// insert or replace
if (isset($GLOBALS['sql_type']) && $GLOBALS['sql_type'] == 'REPLACE') {
$sql_command = 'REPLACE';
} else {
$sql_command = 'INSERT';
}
// delayed inserts?
if (isset($GLOBALS['sql_delayed'])) {
$insert_delayed = ' DELAYED';
} else {
$insert_delayed = '';
}
// insert ignore?
if (isset($GLOBALS['sql_type']) && $GLOBALS['sql_type'] == 'INSERT' && isset($GLOBALS['sql_ignore'])) {
$insert_delayed .= ' IGNORE';
}
//truncate table before insert
if (isset($GLOBALS['sql_truncate']) && $GLOBALS['sql_truncate'] && $sql_command == 'INSERT') {
$truncate = 'TRUNCATE TABLE ' . PMA_Util::backquoteCompat($table, $compat, $sql_backquotes) . ";";
$truncatehead = $this->_possibleCRLF() . $this->_exportComment() . $this->_exportComment(__('Truncate table before insert') . ' ' . $formatted_table_name) . $this->_exportComment() . $crlf;
PMA_exportOutputHandler($truncatehead);
PMA_exportOutputHandler($truncate);
} else {
$truncate = '';
}
// scheme for inserting fields
if ($GLOBALS['sql_insert_syntax'] == 'complete' || $GLOBALS['sql_insert_syntax'] == 'both') {
$fields = implode(', ', $field_set);
$schema_insert = $sql_command . $insert_delayed . ' INTO ' . PMA_Util::backquoteCompat($table, $compat, $sql_backquotes) . ' (' . $fields . ') VALUES';
} else {
$schema_insert = $sql_command . $insert_delayed . ' INTO ' . PMA_Util::backquoteCompat($table, $compat, $sql_backquotes) . ' VALUES';
}
}
//\x08\\x09, not required
$search = array("", "\n", "\r", "");
$replace = array('\\0', '\\n', '\\r', '\\Z');
$current_row = 0;
//.........这里部分代码省略.........
示例2: testbackquoteCompat
/**
* backquoteCompat test with different param $compatibility (NONE, MSSQL)
*
* @param string $a String
* @param string $b Expected output
*
* @return void
*
* @dataProvider backquoteCompatDataProvider
*/
public function testbackquoteCompat($a, $b)
{
// Test bypass quoting (used by dump functions)
$this->assertEquals($a, PMA_Util::backquoteCompat($a, 'NONE', false));
// Run tests in MSSQL compatibility mode
// Test bypass quoting (used by dump functions)
$this->assertEquals($a, PMA_Util::backquoteCompat($a, 'MSSQL', false));
// Test backquote
$this->assertEquals($b, PMA_Util::backquoteCompat($a, 'MSSQL'));
}
示例3: generateComment
/**
* Generate comment
*
* @param string $crlf Carriage return character
* @param string $sql_statement SQL statement
* @param string $comment1 Comment for dumped table
* @param string $comment2 Comment for current table
* @param string $table_alias Table alias
* @param string $compat Compatibility mode
*
* @return string
*/
protected function generateComment($crlf, $sql_statement, $comment1, $comment2, $table_alias, $compat)
{
if (!isset($sql_statement)) {
if (isset($GLOBALS['no_constraints_comments'])) {
$sql_statement = '';
} else {
$sql_statement = $crlf . $this->_exportComment() . $this->_exportComment($comment1) . $this->_exportComment();
}
}
// comments for current table
if (!isset($GLOBALS['no_constraints_comments'])) {
$sql_statement .= $crlf . $this->_exportComment() . $this->_exportComment($comment2 . ' ' . PMA_Util::backquoteCompat($table_alias, $compat, isset($GLOBALS['sql_backquotes']))) . $this->_exportComment();
}
return $sql_statement;
}
示例4: testbackquoteCompat
/**
* backquoteCompat test with different param $compatibility (NONE, MSSQL)
* @dataProvider backquoteCompatDataProvider
*/
public function testbackquoteCompat($a, $b)
{
// Test bypass quoting (used by dump functions)
$this->assertEquals($a, PMA_Util::backquoteCompat($a, 'NONE', false));
// Test backquote (backquoting will be enabled only if isset $GLOBALS['sql_backquotes']
$this->assertEquals($a, PMA_Util::backquoteCompat($a, 'NONE'));
// Run tests in MSSQL compatibility mode
// Test bypass quoting (used by dump functions)
$this->assertEquals($a, PMA_Util::backquoteCompat($a, 'MSSQL', false));
// Test backquote
$this->assertEquals($b, PMA_Util::backquoteCompat($a, 'MSSQL'));
}