【问题标题】:Inserting a custom binary format blob into SQL将自定义二进制格式 blob 插入 SQL
【发布时间】:2013-07-22 11:14:23
【问题描述】:

我有一个以自定义二进制格式制作的日志文件。这个日志文件被上传到服务器,PHP 将它插入到 MySQL 数据库中,就像这样

$tmpName = $_FILES['file']['tmp_name'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$query = "INSERT INTO device_log (dID, deviceLog) VALUES ( '$res1', '$content')";

但这并不总是有效,因为 SQL 的内容有问题,有时会出现 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '««»»Qì™úX' at line 1 错误。

我了解到您需要使用 mysql_real_escape_string 之类的东西来转义数据,但这会破坏初始数据,即我无法将其读回。插入这样一个 blob 的正确方法是什么?

【问题讨论】:

    标签: php mysql blob


    【解决方案1】:

    您可能希望在插入数据库之前对数据进行 base64 编码,这可能会减轻您的问题(您需要在读取数据时对数据进行 base64 解码)。

    【讨论】:

      猜你喜欢
      • 2015-06-09
      • 2015-07-22
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2014-04-15
      • 2010-10-18
      • 2023-03-11
      • 2012-03-09
      相关资源
      最近更新 更多