你的位置:
问答吧
-基于PHP
-问题详细信息
如何通过php访问mysql二进制数据
因为保存的二进制数据必须输入到sql语句中。 因此,必须在保存之前用函数过滤二进制数据中的特殊字符。 防止数据破坏sql语句。
从mysql读取数据后,没有进行任何处理。 这样的数据不是二进制数据啊。 (0x00、0x1a等已全部过滤) ) ) ) )。
我从网上看到了用二进制把照片保存在数据库里。 是的。
653http://www.any example.com/programming/PHP/PHP _ MySQL _ example _ image _ gallery _ (blob _ storage ).xmage
问题1 :我不知道。 这样读取的图像应该会产生错误吧。 (因为图像也是二进制文件,所以过滤的话会被破坏哦)
问题2:PHP是否可以访问mysql二进制数据? 如果可以的话。 怎样操作才能保证保存前和读取后的数据相同? 如果不能保证,访问二进制数据有什么意义呢?
作者: yl0002
发布时间: 2010-09-19
是否需要在保存前按函数过滤二进制数据中的特殊字符?
过滤后,能保持完整性吗?
只要在内容的“”中加上转义字符“”,就会变为“”
作者: xuzuning
发布时间: 2010-09-19
引用一楼xuzuning的回复:
是否需要在保存前按函数过滤二进制数据中的特殊字符?
过滤后,能保持完整性吗?
只要在内容的“”中加上转义字符“”,就会变为“”
二进制文件包含0x00
0x00也是字符串的结尾
如果不筛选,字符串将被截断。
还有很多其他的数值。 不要进入数据库。 甚至不能进入字符串。
接下来是筛选函数
mysqli_real_escape_string
charactersencodedarenul(ascii0)、n、r、、'、'和控制- z。
stripslashes过滤
.
作者: yl0002
发布时间: 2010-09-19
应该是“逃避”而不是“过滤”!
通过“转义”,可以在字符串中表示任何字符。
------------
With sufficient thrust,pigs wmdhn just fine. However,thisisnotnecessarilyagoodidea.itis
hardtobesurewheretheyaregoingtoland,anditcouldbedangeroussittingunderthemasthey
WM dhn开销。
来自RFC 1925-thetwelvenetworkingtruths
————————————————————————————————
基于CSDN论坛提供的插件扩展,自己制作签名文件工具,分享给大家,欢迎技术交流: )
作者: ma泉
发布时间: 2010-09-19
引用三楼马泉的回复:
应该是“逃避”而不是“过滤”!
通过“转义”,可以在字符串中表示任何字符。
------------
With sufficient thrust,pigs wmdhn just fine. However,thisisnotnecessarilyagoodidea.itis
hardtobesurewheretheyaregoingtoland,an……
退出时。 php必须提供适当的反义函数。
但是,我找不到对应的反义函数。
我自己做过实验:
mysqli_real_escape_string处理
保存到数据库
从数据库读取
保存到文件
原始数据是exe文件。 结果,读取的数据减少了数百字节。
退出时。 应该多几百字节。
要转义255个字符中的某些字符。 最终字符集至少比255多啊。 否则,转义字符将与原始字符集中的字符重复。
我想这就是为什么过滤了。
作者: yl0002
发布时间: 2010-09-19