为什么phpMyAdmin查询结果中的长文本会被自动截断

小雪吖_6674

小雪吖_6674

2026-10-21

712人浏览

原创

$cfg['limitchars']仅控制前端显示截断,不影响数据库存储;“完整文本”通过新请求获取原始值,导出则仅打包已渲染的截断内容,二者路径独立。

为什么phpmyadmin查询结果中的长文本会被自动截断

$cfg['LimitChars'] 是唯一控制单元格内容显示长度的开关,不是 bug,也不是数据库限制——它在 PHP 层就把字符串切掉了,后续所有操作(包括导出、复制、点击“打开”)都基于这个已截断的结果。

为什么点「完整文本」能看全,但导出还是只有前 50 字符?

因为「完整文本」是点击后单独发起一次新请求,绕过了前端渲染逻辑;而导出按钮只打包当前页面已渲染的 <td> 内容。这两条路径完全独立:<br>– 渲染用的是 <code>$cfg['LimitChars'] 截断后的值
– 「完整文本」走的是 tbl_row.php + getPartialValue(),查原始字段再输出
– 导出不重新查询,只做 HTML → CSV/JSON/XML 的格式转换
所以即使你点开过 10 条记录的完整内容,导出时依然只能拿到那 50 字符

改 $cfg['LimitChars'] 就能一劳永逸?

不能。这个配置只影响显示,不解决根本瓶颈:
– 设为 0:浏览器可能卡死,尤其含上百行、每行多个 JSON 字段时
– 设为 5000:单个 TEXT 字段若真有 10 万字符,phpMyAdmin 仍要一次性加载、解析、渲染,PHP 内存和响应时间会飙升
– 它对 JSON、XML 导出格式无效:这些格式有自己硬编码的行数限制(如 JSON 默认只导 50 行),跟 $cfg['LimitChars'] 无关
真正该做的,是在需要查长文本时主动切换工具:用 mysql --vertical 或 SELECT ... \G,而不是强求 phpMyAdmin 承担不该它干的活

为什么「显示所有」之后,TEXT 字段还是被截断?

「显示所有」只解除行数限制(即去掉隐式 LIMIT 1000),但它不碰字段内容长度控制。
你看到的仍是受 $cfg['LimitChars'] 约束后的结果。验证方法:
– 鼠标悬停在被截断单元格上,等几秒看 tooltip 是否弹出全文(部分版本支持)
– 点击右侧「打开」图标,弹窗里才是原始值
– 若连 tooltip 和弹窗都不全,说明数据本身已被写入时截断(比如字段定义是 VARCHAR(255),但插入了 300 字符),这时得查 SHOW WARNINGS; 和 LENGTH()

btpanel phpsite 宝塔面板PHP网站
btpanel phpsite 宝塔面板PHP网站

宝塔面板 PHP 网站管理:站点创建、删除、启停、PHP 版本切换、域名管理、SSL证书管理、伪静态管理、数据库管理

下载

导出 CSV 后 Excel 里换行错位,是截断吗?

不是截断,是格式解析失败。CSV 导出默认不加引号包裹字段,而 TEXT 字段若含换行符、逗号或双引号,Excel 会误判为新行或新列。
解决方法只有两个:
– 在 phpMyAdmin 导出页勾选「使用引号包裹字段」
– 或直接放弃 CSV,改用 mysqldump --tab 或 mysql -e "SELECT ..." | sed 's/\t/,/g' 生成更可控的分隔格式
别指望改 $cfg['LimitChars'] 能修好这个

复杂点在于:截断行为分布在三层——MySQL 写入层(字段定义+严格模式)、phpMyAdmin 渲染层($cfg['LimitChars'])、导出格式逻辑层(JSON/XML 硬编码限制)。想靠一个配置项统一解决,只会反复踩坑。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php phpmyadmin

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2023.09.01

11184

6

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

6501

5

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

2155

5

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

2023.10.23

4108

4

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

2023.10.23

4834

6

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.03

3791

9

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.09

5437

8

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

4262

8

sprintf函数用法详解
sprintf函数用法详解

sprintf函数的用法:1、格式化字符串;2、指定输出宽度和精度;3、返回值。更多关于sprintf函数用法详解的内容,大家可以阅读下面的文章。

2023.11.27

12202

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习