草庐IT

PHP-Mysql : storing images in DB - escaping special characters

coder 2023-10-04 原文

我阅读了有关在数据库中存储图像的教程。在教程中,作者在插入前对二进制数据中的特殊字符进行了转义:http://www.phpriot.com/articles/images-in-mysql/7 (使用 addslashes 虽然 mysql_real_escape_string 更可取 - 但这是另一个问题)。

重点是,在展示的时候,他只是把存储的数据展示出来:http://www.phpriot.com/articles/images-in-mysql/8

我的问题:

1) 我们是否需要对二进制字段类型 (blob) 的特殊字符进行转义?

2) 如果是这样,那么,我们是否不需要再次“取消转义”字符以正确显示图像? (如果是这样,最好的方法是什么。关于效率有什么评论吗?对于大图像:转义和取消转义可能是一个很大的开销?)。

还是我对转义的理解完全错误(转义只影响查询而不影响插入/存储的最终数据?)。

谢谢

日本

最佳答案

你对转义的理解是错误的。插入数据库的数据被转义,以便查询解析器按预期查看信息。

以字符串“Jean-Luc 'Earl Grey' Picard”为例。 转义结果为:'Jean-Luc\'Earl Grey\' Picard'

MySQL收到这个,就明白转义的引号需要按字面意思,就是转义的意思,就会存入数据库。它不会将转义字符存储在数据库中。\向 MySQL 表明它应该按字面意思接受它后面的字符。

检索时,数据会在没有转义字符的情况下呈现给您的应用程序,因为它们在解析查询时会被删除。

关于PHP-Mysql : storing images in DB - escaping special characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4569745/

有关PHP-Mysql : storing images in DB - escaping special characters的更多相关文章

随机推荐