c#等价于php mysql_real_escape_string函数
本文关键字:escape string 函数 real php mysql 等价于 | 更新日期: 2023-09-27 18:06:41
c#相当于php mysql_real_escape_string函数或类似函数?
mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,该函数在以下字符前加上反斜杠:'x00, 'n, 'r, ', ', "和'x1a。
我使用这个函数:
public static string MySQLEscape(string str)
{
return Regex.Replace(str, @"['x00'""'b'n'r't'cZ''%_]",
delegate(Match match)
{
string v = match.Value;
switch (v)
{
case "'x00": // ASCII NUL (0x00) character
return "''0";
case "'b": // BACKSPACE character
return "''b";
case "'n": // NEWLINE (linefeed) character
return "''n";
case "'r": // CARRIAGE RETURN character
return "''r";
case "'t": // TAB
return "''t";
case "'u001A": // Ctrl-Z
return "''Z";
default:
return "''" + v;
}
});
}
我不认为有什么可以做到这一点,在System.Web.HttpUtility
类中有各种编码/转义方法。但是,如果只是要替换这些字符,则可以使用string.Replace()
。
string test = " 'x00'n";
Console.WriteLine(test.Replace("'x00","''x00").Replace("'n","''n"));