我想知道是否在默认的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吗?
任何想法都赞赏。
答案 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中编辑这些行:
$query = PMA_Util::expandUserString(
$GLOBALS['cfg']['DefaultQueryDatabase'], 'backquote'
);
替换为:
$query = PMA_Util::expandUserString(
$GLOBALS['cfg']['DefaultQueryDatabase']
);
$query = PMA_Util::expandUserString(
$GLOBALS['cfg']['DefaultQueryTable'], 'backquote'
);
替换为:
$query = PMA_Util::expandUserString(
$GLOBALS['cfg']['DefaultQueryTable']
);
$html .= '<option value="'
. PMA_Util::backquote(htmlspecialchars($field['Field'])) . '"';
替换为:
$html .= '<option value="'
. htmlspecialchars($field['Field']) . '"';
(它似乎适用于phpmyadmin 4.0.10。)