0

我有一个以自定义二进制格式制作的日志文件。此日志文件上传到服务器,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 的正确方法是什么?

4

1 回答 1

1

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

于 2013-07-22T03:14:23.910 回答