在phpMyAdmin中查看Blob的内容

时间:2010-02-02 22:32:13

标签: phpmyadmin blob

抱歉Noob问题,但带圆圈的按钮意味着什么,以及如何查看blob的内容? alt text http://www.rigel222.com/images/blobcontent.jpg

9 个答案:

答案 0 :(得分:33)

早期版本的phpmyadmin有一个名为

的设置
$cfg['ShowBlob']              = TRUE;

这将允许您在浏览器中查看blob的内容。你应该注意,如果你在blob中存储二进制文件,这会导致混乱,因为你会在浏览器窗口中看到无穷无尽的gobblygok。有些人(像我一样)决定他们的应用程序需要使用BLOB类型来存储文本(当时似乎是一个很好的决定,而且我记得在我做出决定时有一些想法)。然而,phpmyadmin决定通过弃用此配置设置来阻止这一点。可以理解,因为这样做可能会引起相当多的支持请求。显然,我们的想法是将人们移到TEXT字段类型上。

快速显示blob的内容已经移动到用户界面而不是配置中。

在浏览时查看blob内容的最简单方法是单击链接:

+选项

很高兴您的屏幕截图已经在顶部图片的顶部显示了+选项。

将显示一个允许您显示blob(和二进制文件)的表单。单击它,它会将它添加到您选择的会话中,确保您从那时开始看到内容。

您还可以使用打印视图获得相同的结果:

打印视图(包含全文)

它位于页面底部。

遗憾的是,如果你总是想要显示blob,这两种技术都没有用,因为它似乎经常重置。您可以通过添加行

来解决此问题
$_GET['display_blob'] = true;

在sql.php文件的开头。我认为可能有更好的方法来做到这一点,我希望其他人可以提出来......

(注意:正如罗德里戈指出的那样,您可以通过在网址上附加&display_bob=true来手动实现此效果)

您对“选择文件”按钮的具体问题很简单。 blob的大多数用途是用于在数据库中存储数字文件。此按钮允许您将新文件上载到数据库中。如果您选择一个文件并单击“go”,它将尝试将该文件的内容填充到blob列中。

请注意,简单地显示blob的内容可能不是其他用户想要的。在我使用此选项显示blob之前查看“blob摘要”时,我看到blob大小最多为55个字节。您的示例具有更大的值,因为它看起来像您正在存储非常小的文本文件,我认为这意味着文本段落。如果大小大于10千字节,那么它可能是一个只显示gooblegok的二进制文件。

如果你想智能地下载二进制文件(而不是将它们显示为文本),我认为你需要研究一下phpmyadmin所谓的blobstreaming。

答案 1 :(得分:15)

&display_blob=true放在网址末尾。

答案 2 :(得分:3)

对于新访问者,查看BLOB列的另一种方法是QUOTE()功能。为方便起见,您可以创建一个视图。 (一个视图就像一个表,但它确实是一种保存的查询):

CREATE VIEW log_text AS SELECT BlobID, FileName, CAST(QUOTE(Content) AS CHAR) FROM log;

您必须将结果作为CHAR进行CAST,因为QUOTE(二进制)仍然是二进制的。这可能会导致一些混乱(正如@ftrotter所说),因为QUOTE只翻译控制字符,而不是超ASCII字符。

enter image description here

为了减少混乱,请使用HEX()

答案 3 :(得分:3)

Save Link As txt file

您可以右键单击phpMyAdmin并将链接保存为txt文件扩展名以查看blob文本文件类型

答案 4 :(得分:2)

我认为最好的解决方案是改变这一行:

$cfg['Servers'][$i]['extension'] = 'mysql';

到此:

$cfg['Servers'][$i]['extension'] = 'mysqli';

如果您有mysqli扩展程序,请使用它。它更安全,更优化,默认情况下它更好地处理utf-8的BLOB类型。您的[BLOB]条目应该开始显示为其值,而不必添加任何其他特殊配置选项。

答案 5 :(得分:2)

新版本的PHPMyAdmin似乎需要稍微不同的解决方案

$cfg['ProtectBinary'] = FALSE;

将其放在文件/etc/phpmyadmin/config.inc.php

的末尾

或者使用这个衬垫

echo "\$cfg['ProtectBinary'] = FALSE;" | sudo tee -a /etc/phpmyadmin/config.inc.php

这适用于PHPMyAdmin版本3.4.10.1deb1

答案 6 :(得分:1)

“选择文件”对话框允许您在工作站上选择一个文件并将其上传到该行的blob列中。

如果您的BLOB包含JPEG或PNG图像,您实际上可以在浏览时查看其缩略图,并在单击缩略图时显示完整图像。请参阅https://phpmyadmin.readthedocs.org/en/latest/transformations.html

答案 7 :(得分:0)

我已经向config.inc.php添加了额外的帮助,这对我帮助了很多

# Show BLOB data on table browse pages.  Hack to hardcode all requests.
$_REQUEST['display_blob'] = true;

答案 8 :(得分:0)

phpMyAdmin 中已经有一个处理程序来显示 blob 数据 为此,只需在 url 末尾添加“&display_blob=true”。 如下更改网址:

*****phpmyadmin/sql.php?db=database_name&table=table_name

*****phpmyadmin/sql.php?db=database_name&table=table_name&display_blob=true