【问题标题】:reading blob from mysql database with php用php从mysql数据库中读取blob
【发布时间】:2012-09-25 23:39:10
【问题描述】:

我在我的 php 代码中执行以下操作:

$q="SELECT * FROM {$table} where x;
$link = mysqli_connect("localhost", "test", "test","mytable");
$res = mysqli_query($link,$q);
 if($res)
   {
       $row = mysqli_fetch_assoc($res);
       header("Content-type: text/xml");
       header("Content-Disposition: attachment; filename=$name");
       echo $row['blob'];
   }

我可以看到我上传到 mysql 的数据(xml 文件)没有任何前导空格,但是当我运行上面的代码 3 新行并出现一个空格时,文件不再是格式正确的 xml。 知道为什么没有从表格中读取确切的内容吗?

【问题讨论】:

  • 您是否在 MySQL 数据库中查看过是否有换行符,这将排除脚本问题。 XML 格式如何不再正确。您的意思是缺少标签等,还是您的意思是浏览器不再将 XML 解释为 XML。或者你的意思是它没有正确缩进?
  • 将 XML 存储为文本,blob 用于二进制数据。请注意,不要存储 XML ..
  • XML 解析错误:XML 或文本声明不在实体第 3 行第 2 列的开头:
  • 应该在第一行的第 3 行第 2 列
  • @Chris 我查看了 MySQL DB,那里没有新行。有趣的是,当我使用 php 阅读这些新行时,我是如何得到这些新行的。

标签: php mysql blob


【解决方案1】:

想通了。一个愚蠢的错误。 我打开的 php 标记从第 3 行第 2 列开始

> <?php

这使得“回声”从同一行(第 3 行第 2 列)开始。 echo 应该是这样工作的吗?

【讨论】:

    【解决方案2】:

    您应该调查额外换行符的来源,但您可以通过运行来解决您的问题:

    trim($row['blob']);
    

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 2014-08-20
      • 2012-02-13
      • 2015-01-23
      • 1970-01-01
      • 2017-01-24
      • 2012-07-11
      • 2014-10-02
      • 1970-01-01
      相关资源
      最近更新 更多