php - PhpMyAdmin:执行QUERY“SELECT”的文件和行的确切位置?
问题描述
知道某些人 PMA“默认”执行 QUERY 以从 ANY 表中选择 X 行的 FILE 和 LINE 吗?
phpMyAdmin 5.1.1
当我尝试找到这个 FILE+LINE 时,我在文件/tmp
夹中找到了两个文件:
phpMyAdmin-5.1.1-all-languages\tmp\twig\67\6713c2eddaa7a146c29b5dfe966a6717694167b6b99f58e35222aab2bc4f92b3.php
phpMyAdmin-5.1.1-all-languages\tmp\twig\c9\c934314868d98512d8034e9147a54a1771010d4253cb827d5115e58d54db6f5c.php
但这些文件只是 TEMPLATES html
我搜索这个LINE的主要原因是学习这个专业工具使用的算法
关于 LINE 和文件的一些想法,其中:
$mysqli -> QUERY($sql_query);
被执行了?,我只找到函数
getDefaultSqlQueryForBrowse($db, $table)
但是这个 QUERY 的 RETURN 部分到 var 中$sql_query
并且不执行它。
解决方案
将版本phpMyAdmin-5.1.1-all-languages
(2021-06-04 发布)放入文件中
phpMyAdmin-5.1.1-all-languages\libraries\classes\Sql.php
绕线140
你会发现功能
private function getSqlWithLimitClause(array &$analyzed_sql_results)
然后在之前添加此行return
:
file_put_contents($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.date('Y-m-d_').'_QUERY_.php', __FILE__."\n".Query::replaceClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'LIMIT ' . $_SESSION['tmpval']['pos'] . ', '
. $_SESSION['tmpval']['max_rows']
));
您将获得 QUERY 默认值
推荐阅读
- excel - Excel VBA - 查找单元格并添加到动态数组
- algorithm - 根据偏好创建调度算法
- angular - 如何在角度组件中找到树中的节点
- date - 在批处理文件中使用日期命令时错误级别不起作用
- vps - Node-red 管理页面未加载
- oracle-apex - 列中定义的 URL 链接,APEX 18.2 IG
- kubernetes - Helm `pre-install`在 helm install 期间挂钩调用脚本
- python - Azure 分析休息 api:401 未经授权。“身份验证失败。”
- ios - 如何使用 Alamofire/SwiftyJSON 将 JSON 数据加载到单元格中?
- docusignapi - Apex Toolkit 如何为未登录的联系人创建嵌入式签名会话