phpmyadmin(linux)在mysql SQL查询窗口中删除反引号

时间:2015-02-19 16:17:23

标签: mysql linux phpmyadmin

我想知道是否在默认的SQL查询窗口中删除了phpymyadmin中所有查询的反引号(在Linux上)

我想可能有一个phpmyadmin配置文件负责此设置。

例如: 为了基于当前表发票构建查询,我首先点击phpmyadmin窗口中的SQL选项卡,这就是出现的内容:

SELECT * FROM invoices WHERE 1

如果我然后选择右侧的表格列添加到查询中,例如。 invoice_number,然后查询可以读取:

SELECT * FROM invoices WHERE invoice_number

我想要的是: 1)对于默认的SQL(即当我第一次按SQL选项卡时)读取: SELECT * FROM发票WHERE 1 和 2)当我使用右边的选定列构建查询时,它会读取: SELECT * FROM发票WHERE invoice_number

依此类推。

必须在phpmyadmin环境中的某个地方配置一个我可以调整的配置设置,以便在我构建的SQL中不会出现反引号或quote_backtick吗?

任何想法都赞赏。

2 个答案:

答案 0 :(得分:2)

此时,更容易修改

中的反引号功能
libraries/Util.class.php:881

将$ do_it默认值从true替换为false

公共静态函数反引号($ a_name,$ do_it = true

公共静态函数反引号($ a_name,$ do_it = false

答案 1 :(得分:1)

实际的source code表示没有这样的配置条目(backquote是硬编码的):

一种可能的解决方案是在sql_query_form.lib.php中编辑这些行:

  • line1

    $query = PMA_Util::expandUserString(
        $GLOBALS['cfg']['DefaultQueryDatabase'], 'backquote'
    );
    

    替换为:

    $query = PMA_Util::expandUserString(
        $GLOBALS['cfg']['DefaultQueryDatabase']
    );
    
  • line2

    $query = PMA_Util::expandUserString(
        $GLOBALS['cfg']['DefaultQueryTable'], 'backquote'
    );
    

    替换为:

    $query = PMA_Util::expandUserString(
        $GLOBALS['cfg']['DefaultQueryTable']
    );
    
  • line3

    $html .= '<option value="'
        . PMA_Util::backquote(htmlspecialchars($field['Field'])) . '"';
    

    替换为:

    $html .= '<option value="'
        . htmlspecialchars($field['Field']) . '"';
    

(它似乎适用于phpmyadmin 4.0.10。)