【问题标题】:How to disable or circumvent phpmyadmin's SQL_CALC_FOUND_ROWS如何禁用或规避 phpmyadmin 的 SQL_CALC_FOUND_ROWS
【发布时间】:2010-12-08 23:38:23
【问题描述】:

当您通过 phpmyadmin 处理 SELECT 时,它有时会在后台添加 LIMIT 0,30,和/或它会将 SQL_CALC_FOUND_ROWS 扔到 SELECT 中,这样它就可以告诉我有多少结果没有LIMIT

不幸的是,添加 SQL_CALC_FOUND_ROWS 有时需要比我预期的更多的处理(即比我运行原始 untainted 查询时更多)。

是否有一个全局配置选项来禁用 phpmyadmin 对我的查询的修改?

我可以在每个查询的基础上使用哪些技巧来防止 phpmyadmin 的修改?

【问题讨论】:

  • 您似乎不像需要 PHP 脚本来处理您与数据库的交互的类型。打开一个 mysql 客户端并直接在服务器上运行您的查询。
  • 我不是要求我自己(我确实喜欢命令行界面),而是要求我的开发团队。

标签: mysql phpmyadmin sql-calc-found-rows


【解决方案1】:

快速检查 PHPMyAdmin 源代码表明没有。

但是,如果您查看文件 sql.php,并找到标记为 // n o t " j u s t b r o w s i n g "else 语句。将那里和 // end else "just browsing" 之间的代码替换为 $unlim_num_rows = 1000000; 之类的代码,您将阻止它进行计数查询,同时仍然可以浏览。

(您必须在每次更新 PMA 时重复此操作,您应该定期执行此操作,因为它的安全声誉不是很好,至少可以这么说)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-22
    • 2017-10-30
    • 2019-05-06
    • 2015-01-20
    • 2020-08-13
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多