dtnbjjq51949 2010-12-31 11:16 采纳率: 0%
浏览 47
已采纳

PHP - Mysql:在DB中存储图像 - 转义特殊字符

I read this tutorial about storing images in DB. In the tutorial, the author escapes special characters in the binary data before inserting: http://www.phpriot.com/articles/images-in-mysql/7 ( using addslashes although mysql_real_escape_string is preferable - but that is another issue ).

The point is, when displaying, he just displays the data as it is stored: http://www.phpriot.com/articles/images-in-mysql/8

My questions:

1) Do we need to escape special characters even for binary field type (blob)?

2) If so, then, do we not need to "unescape" the characters again in order to display the image correctly? (If so, what is the best way to do it. Any comments about efficiency? For large images: escaping and unescaping can be a big overhead?).

Or is it that my understanding about escaping is totally wrong (and escaping only affects the query and not the final data inserted/stored?).

thanks

JP

  • 写回答

2条回答 默认 最新

  • duanjiao6731 2010-12-31 11:31
    关注

    Your understanding of escaping is wrong. The data being inserted into the database is escaped, so that the query parser sees the information as intended.

    Take the string "Jean-Luc 'Earl Grey' Picard". Escaping results in: 'Jean-Luc \'Earl Grey\' Picard'

    When MySQL receives this, it understands that the escaped quotes need to be taken literally, that is what escaping means, and will store them in the database. It will not store the escape-characters in the database. The \ indicates to MySQL that it should take the character following it literally.

    When retrieving, the data is presented to your application without the escaping characters, as they are removed when parsing the query.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥40 如果update 一个列名为参数的value
  • ¥15 基于51单片机的水位检测系统设计中LCD1602一直不显示
  • ¥15 OCS2安装出现问题,请大家给点意见
  • ¥15 ros小车启动launch文件报错
  • ¥15 vs2015到期想登陆但是登陆不上
  • ¥15 IPQ5018制作烧录固件,boot运行失败(操作系统-linux)(相关搜索:操作系统)(相关搜索:操作系统)
  • ¥20 icefall在librispeech基础上加入个人数据集
  • ¥30 keepalive高可用故障运维配置询问
  • ¥15 求帮助!国家电网内网u盘突然识别不出来了。
  • ¥15 matlab语音变速变调同时实现