Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql_real_escape_string() in .NET Framework

Warum willst du das machen? Die richtige Methode zum Senden von Benutzereingaben an die Datenbank besteht nicht darin, sie zu maskieren, sondern in der Verwendung von Abfrageparameter .

using(var command = new SqlCommand("insert into MyTable(X, Y) values(@x, @y)", connection))
{
    command.Parameters.Add("@x", textBoxX.Text);
    command.Parameters.Add("@y", textBoxY.Text);
    command.ExecuteNonQuery();
}

Dies bietet eine bessere Leistung, da der Abfragetext immer gleich ist, sodass der Abfrageausführungsplan zwischengespeichert werden kann. Dies schützt Sie auch vor SQL-Injection-Angriffen. Und es ermöglicht Ihnen auch, Datenformatierungsprobleme zu ignorieren (z. B. wie wird eine DateTime in SQL-Server formatiert? Wie sollten Sie eine Zahl in SQL darstellen? und so weiter)