Php 将二进制数据插入数据库时出错

Php 将二进制数据插入数据库时出错,php,mysql,Php,Mysql,我的php脚本中出现以下错误: 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解使用near'M的正确语法�Uɽފ�')' 在1号线 我的代码是: $Connection = mysql_connect("127.0.0.1", "root", "12345678"); mysql_select_db("database5", $Connection); $Hashsz = "FF381278A9AB19274D9755C9BDDE8A82"; $HashBin = pac

我的php脚本中出现以下错误:

您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解使用near'M的正确语法�Uɽފ�')' 在1号线

我的代码是:

$Connection = mysql_connect("127.0.0.1", "root", "12345678");
mysql_select_db("database5", $Connection);

$Hashsz = "FF381278A9AB19274D9755C9BDDE8A82";
$HashBin = pack("H*", $Hashsz);

$Query = "INSERT INTO Hashes (Hash) VALUES ('{$HashBin}')";
if(mysql_query($Query, $Connection))
{
    echo "inserted";
}
else
{
    echo mysql_error();
}
值类型为:二进制(16)


为什么?

对于旧的mysql扩展,您应该使用它来转义
$HashBin
。最好使用准备好的语句和参数化查询。阅读“”问题。

您应该将数据转换为文本格式。请检查以下答案:。请尝试从“{$HashBin}”中删除单引号。如果有问题,是否假定$HashBin是二进制数据?为什么要使用该函数?只需打印
$HashBin
并查看其中包含的内容