有人可以解释在字符串上使用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本身包含单引号,则需要对它们进行转义以防止过早关闭引号文字.