Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql_real_escape_string() dans .NET Framework

Pourquoi est ce que tu veux faire ça? La bonne façon d'envoyer l'entrée de l'utilisateur à la base de données n'est pas d'y échapper, mais d'utiliser paramètres de requête .

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();
}

Cela offre de meilleures performances, car le texte de la requête est toujours le même, de sorte que le plan d'exécution de la requête peut être mis en cache. Cela vous protège également contre les attaques par injection SQL. Et cela vous permet également d'ignorer les problèmes de formatage des données (par exemple, comment un DateTime est-il formaté dans SQL-Server ? Comment devez-vous représenter un nombre dans SQL ? Et ainsi de suite)