Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将自定义二进制格式blob插入SQL_Php_Mysql_Blob - Fatal编程技术网

Php 将自定义二进制格式blob插入SQL

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')"; 但这并

我有一个自定义二进制格式的日志文件。这个日志文件被上传到服务器,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的内容有问题,有时会给出一个
,因为您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“««»»Qì附近使用的正确语法™第1行的úX'错误


我已经读到,您需要使用类似于
mysql\u real\u escape\u string
的东西来转义数据,但这会破坏初始数据,即我无法将其读回。插入这样一个blob的正确方法是什么?

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