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

Posted

技术标签:

【中文标题】phpmyadmin(linux)删除mysql SQL查询窗口中的反引号【英文标题】:phpmyadmin (linux) remove backtick in mysql SQL query window 【发布时间】:2015-04-21 02:10:52 【问题描述】:

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

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

例如: 为了建立一个基于当前表invoices的查询,我首先点击phpmyadmin窗口中的SQL选项卡,然后出现如下:

SELECT * FROM invoices WHERE 1

如果我随后选择右侧的表列添加到查询中,例如。 invoice_number,然后查询可能显示为:

选择 * 从invoices 哪里invoice_number

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

等等等等。

在 phpmyadmin 环境中的某个地方肯定有一个配置设置,我可以对其进行调整,这样我构建的 SQL 中就不会出现反引号或 quote_backtick 吗?

任何想法表示赞赏。

【问题讨论】:

它似乎不仅仅是一个配置条目:source(反引号是硬编码的),但您也可以轻松编辑 php 文件... 【参考方案1】:

此时修改反引号功能

中比较容易
libraries/Util.class.php:881

将 $do_it 默认值从 true 改为 false

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

【讨论】:

Debian 上 phpmyadmin 4.6 中的路径。 /usr/share/phpmyadmin/libraries/Util.php【参考方案2】:

实际的source code显示没有这样的配置入口(@98​​7654326@是硬编码的):

一种可能的解决方案是在 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。)

【讨论】:

您好 lp_ 感谢您如此迅速地回复。我会看看 - 我找到了你提到的文件。 工作。如果列名包含空格、reserved words 或非 ASCII 字符,则更好的解决方案会去除反引号,但有条件地保留它们。

以上是关于phpmyadmin(linux)删除mysql SQL查询窗口中的反引号的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 错误,设置第一个数据库(phpmyadmin,linux 服务器)

有啥方法可以从托管在 linux 服务器上的 Phpmyadmin 中找到谁被删除的数据库

Linux安装phpMyAdmin详细步骤

如何删除错误 phpMyAdmin #1932

在Linux服务器上配置phpMyAdmin

在Linux服务器上配置phpMyAdmin