Php 将自定义二进制格式blob插入SQL
我有一个自定义二进制格式的日志文件。这个日志文件被上传到服务器,PHP将其插入MySQL数据库,如下所示Php 将自定义二进制格式blob插入SQL,php,mysql,blob,Php,Mysql,Blob,我有一个自定义二进制格式的日志文件。这个日志文件被上传到服务器,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')"; 但这并
$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的内容有问题,有时会给出一个,因为您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“««»»Qì附近使用的正确语法™第1行的úX'错误
我已经读到,您需要使用类似于mysql\u real\u escape\u string
的东西来转义数据,但这会破坏初始数据,即我无法将其读回。插入这样一个blob的正确方法是什么?您可能希望在插入数据库之前对数据进行base64编码,这可能会缓解您的问题(您需要在读回数据时对数据进行base64解码)