为什么在存储到MySQL数据库时需要将转义序列添加到二进制字符串中?

tgo*_*eil 4 php mysql

将数据指定为二进制的全部要点是简单地将二进制序列视为原始的,未触及的字节序列.

=>鉴于MySQL有BLOB,BINARY和VARBINARY数据类型,为什么不能从php脚本存储和检索任何二进制数据流而不需要使用mysql_real_escape_string或addslashes转义序列?

Dav*_*ver 6

因为二进制数据仍然被序列化为字符串......所以,例如,想象一下你$binary_data的价值a 'b" c.然后查询INSERT INTO foo VALUES $binary_data将失败.