抱歉Noob问题,但带圆圈的按钮意味着什么,以及如何查看blob的内容? alt text http://www.rigel222.com/images/blobcontent.jpg
答案 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字符。
为了减少混乱,请使用HEX()。
答案 3 :(得分:3)
您可以右键单击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