微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过PHP和mysql正确转义字符串

有人可以解释在字符串上使用mysql_real_escape_string或在列周围包装“之间的区别.

例如“insert into table(“column“)values(‘$string’)”

要么

$escapestring = MysqL_real_escape_string($string);
 "insert into table (column) values ('$escapedstring')"

这两者有什么区别,我应该使用什么?谢谢.

解决方法:

反引号和单引号之间有区别.

反引号旨在转义可能与MysqL保留字冲突的表和字段名称.如果我有一个名为date的字段和一个像SELECT date FROM mytable这样的查询,我需要转义日期的使用,这样当MysqL解析查询时,它会将我对date的使用解释为字段而不是数据类型日期.

单引号’用于文字值,如SELECT * FROM mytable WHERE somefield =’somevalue’.如果somevalue本身包含单引号,则需要对它们进行转义以防止过早关闭引号文字.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐