Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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/64.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
将包含空字节的字符串(PNG图像)写入PHP中的MySQL_Php_Mysql - Fatal编程技术网

将包含空字节的字符串(PNG图像)写入PHP中的MySQL

将包含空字节的字符串(PNG图像)写入PHP中的MySQL,php,mysql,Php,Mysql,如何在MySQL BLOB字段中写入和读取包含大量0字节的字符串(~200KB) 这不起作用: $data = ... // PNG image raw data $queryPart = "'" . addslashes($data) . "'"; ... compose and execute query 使用传统MySQL库时,正确的转义输入数据的方法是MySQL\u real\u escape\u string()。即使数据库“可以”,也不能存储二进制文件。在表中包含服务器上文件的路径

如何在MySQL BLOB字段中写入和读取包含大量0字节的字符串(~200KB)

这不起作用:

$data = ... // PNG image raw data
$queryPart = "'" . addslashes($data) . "'";
... compose and execute query

使用传统MySQL库时,正确的转义输入数据的方法是MySQL\u real\u escape\u string()。

即使数据库“可以”,也不能存储二进制文件。在表中包含服务器上文件的路径更有效。

使用mysql\u real\u escape\u string(),因为它调用mysql库来清除给定数据


是的,这将修复空字节问题,以及OP应用程序中当前存在的安全漏洞。谢谢Alvaro,但我知道这种方法,而且它对我也不起作用:(我相信问题出在用于从客户端传递数据的AMFPHP中。谢谢。
addslashes()
不是转义数据的安全方法。您应该使用
mysql
mysqli
库中提供的转义函数,或者使用跨数据库库(如PDO)。