如何通过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本身包含单引号,则需要对它们进行转义以防止过早关闭引号文字.

上一篇:Java退格逃脱


下一篇:HTML,PHP – 回显时转义’<'和'>'符号