23

我正在使用 phpMyAdmin v3.4.10.1deb1 来管理我的 Ubuntu-Server 上的一些 MySQL 表,这些表的字段具有 SQL 格式的“TEXT”。显示这些字段时,默认情况下会截断它们。我总是必须单击符号“←T→”才能将文本展开到完整长度。但是我不想在每一个查询上都点击,因为这意味着每一个查询都会被执行两次。

我希望“全文”是默认的。但我找不到设置这个的地方。

你能帮我吗?

4

8 回答 8

33

我在 phpMyAdmin 中有一个选项:Settings > Main Panel > Browse Mode称为:Limit column characters您可以在其中更改默认字符限制(50)。但是我不相信您可以将其默认设置为不限制...

从 phpMyAdmin 5 开始,遵循 Alan Dev 的以下评论:主页 -> 常规设置 -> 更多设置 -> 主面板 -> 浏览模式 -> 限制列字符

于 2013-07-24T14:05:23.307 回答
9

第一:如果没有必要,不要更改核心文件。

要在 PMA 版本 4.5.4.1 中实现这一点,您只需将此行添加到您的config.inc.php

if ( !isset($_REQUEST['pftext'])) $_REQUEST['pftext'] = 'F';

默认情况下,这将始终将结果设置为 FULL TEXT,如果需要部分显示,您可以切换

于 2016-03-15T22:18:56.603 回答
8

更改列字符的限制

Select "Browse" option of any table
Select Settings gear icon at top right corner
Change character limit in "Limit column characters box" according to your need
Press Apply
于 2019-03-13T17:03:38.230 回答
4

这是 hacky 解决方案(对我有用),但需要更改一些 PMA php 文件。如果你知道你在做什么,你可以试试这个:

  • 在您的 phpmyadmin 文件夹中找到此文件:phpmyadmin/libraries/display_tbl.lib.php
  • 在这个文件中,定位函数称为PMA_displayTable_checkConfigParams
  • 在此函数的开头添加以下行:
    if (!isset($_REQUEST['display_text'])) $_REQUEST['display_text'] = 'F';

这将默认启用“全文”,允许您切换回“部分文本”模式。

请注意,我是在稍微不同的 PMA 版本(3.5.2.2)上测试的,所以函数/文件名可能不同。

于 2013-07-24T15:35:44.347 回答
1

当前稳定版本(4.5.0)的等效补丁:

diff --git a/libraries/DisplayResults.class.php b/libraries/DisplayResults.class.php
index e435a21..7129c15 100644
--- a/libraries/DisplayResults.class.php
+++ b/libraries/DisplayResults.class.php
@@ -4101,7 +4101,9 @@ class PMA_DisplayResults
         } elseif (empty($query['pos'])) {
             $query['pos'] = 0;
         }
-
+        if (!isset($_REQUEST['pftext'])) {
+            $_REQUEST['pftext'] = self::DISPLAY_FULL_TEXT;
+        }
         if (PMA_isValid(
             $_REQUEST['pftext'],
             array(
于 2015-09-27T14:26:00.957 回答
0

是的,这很烦人。

上面的答案(3)为我指明了正确的方向,但自从他的回复以来,例程名称已经改变。

我正在使用带有版本的 WAMP:PHPMyAdmin 的 4.5.5。

1) 打开位于“C:/WAMP/PHPMyAdmin/libraries”中的文件“DisplayResultsClass.php”。

2) 搜索“私有函数_getFullOrPartialTextButtonOrLink()”

3)在左大括号“{”之后,在上面的行之后,添加下面的代码行:-

“如果 (!isset($_REQUEST['full_text_button'])) _REQUEST['full_text_button'] = 'F';”

这会打开“全文”单选按钮。

关闭 PHPMyAdmin 并重新打开它。默认保留(当然,直到您更新或重新安装 WAMP 或 PHPMyAdmin!天知道他们为什么没有在配置文件中创建默认值。如果他们这样做了,我当然找不到它。

每次显然这应该是默认设置时,我都厌倦了切换到“全文”。这让我觉得作者是故意试图让程序员兴奋起来。

约翰

于 2016-02-29T17:05:50.593 回答
0

它在5.0.2docker 容器中运行的版本中对我有用:

  1. docker exec -it [your_container_name] sh;
  2. apt-get update;
  3. apt-get install vim;
  4. vim ./libraries/classes/Display/Results.php;
  5. i键盘上的字母进入 INSERT 模式vim
  6. 更改_getPartialText文件底部的函数,如下所示;
  7. 完成文件编辑后,按ESC键。这会让你退出 INSERT 模式;
  8. 要保存文件,请输入冒号,后跟wq。例如。:wq;
/**
     * Truncates given string based on LimitChars configuration
     * and Session pftext variable
     * (string is truncated only if necessary)
     *
     * @param string $str string to be truncated
     *
     * @return mixed
     *
     * @access  private
     *
     * @see     _handleNonPrintableContents(), _getDataCellForGeometryColumns(),
     *          _getDataCellForNonNumericColumns
     */
    private function _getPartialText($str)
    {
        $original_length = mb_strlen($str);

        /*
        if ($original_length > $GLOBALS['cfg']['LimitChars']
            && $_SESSION['tmpval']['pftext'] === self::DISPLAY_PARTIAL_TEXT
        ) {
            $str = mb_substr(
                $str,
                0,
                (int) $GLOBALS['cfg']['LimitChars']
            ) . '...';
            $truncated = true;
        } else {
            $truncated = false;
        }
         */

        $truncated = false;

        return [
            $truncated,
            $str,
            $original_length,
        ];
    }
于 2020-12-23T17:49:24.370 回答
0

Dziad Borowy 的回答是正确的,因为您不能设置“无限制”。

话虽如此,该线程上的所有答案似乎都忽略了对最大字符数的永久修复,所以这里是:

转到您的 PMA 服务器。找到 phpMyAdmin 配置文件,config.inc.php

locate config.inc.php

使用您选择的文本编辑器查找以下字符串:

$cfg['LimitChars']

将值更改为您想要的任何值(默认为50):

$cfg['LimitChars'] = 1000;

写完就退出。PMA 不需要重新启动,更改应该会自动应用。

于 2021-06-08T14:55:49.707 回答