1 直接拼成sql情况
●如果是“=”,需要转义的字符为’ \
'转为''
\转为\\\\
具体代码如下:
sql = sql.replace("'", "''");
sql = sql.replace("\\", "\\\\");
●如果是"like",需要转义的字符为‘ \ % _
'转为''
\转为\\\\\\\\(注意需要8个,汉)
%转为\\%
_转为\\_
具体代码如下:
sql = sql.replace("'", "''");
sql = sql.replace("\\", "\\\\\\\\");
sql = sql.replace("%", "\\%");
sql = sql.replace("_", "\\_");
2 使用预处理sql情况
●只有使用"like"时才需要转义
\转为\\\\
%转为\\%
_转为\\_
sql = sql.replace("\\", "\\\\");
sql = sql.replace("%", "\\%");
sql = sql.replace("_", "\\_");
注意:因為MySQL在字符串中使用C轉義語法(例如,“\n”),你必須在你的LIKE字符串中重複任何“\”。例如,為了查找“\n”,指定它為“ \\n”,為了查找“\”,指定它為“\\\\”(反斜線被分析器剝去一次,另一次是在模式匹配完成時,留下一條單獨的反斜線被匹配)。