Maison > base de données > tutoriel mysql > Comment résoudre l'avertissement obsolète « MySqlCommand.Command.Parameters.Add » et empêcher l'injection SQL ?

Comment résoudre l'avertissement obsolète « MySqlCommand.Command.Parameters.Add » et empêcher l'injection SQL ?

Barbara Streisand
Libérer: 2024-12-09 13:22:15
original
474 Les gens l'ont consulté

How to Resolve the Obsolete `MySqlCommand.Command.Parameters.Add` Warning and Prevent SQL Injection?

MySqlCommand.Command.Parameters.Add Avertissement obsolète : transition vers AddWithValue

Question :

Lorsque vous utilisez MySqlCommand pour insérer des données dans une base de données MySQL, vous recevez un avertissement indiquant que « MySqlCommand.Command.Parameters.Add est obsolète » et que les valeurs des paramètres ne sont pas insérées correctement. Comment résoudre ce problème et garantir la sécurité des injections SQL ?

Réponse :

Pour répondre à l'avertissement et améliorer la prévention des injections SQL, vous devez cesser d'utiliser « Ajouter » à "AddWithValue" pour ajouter des paramètres à votre MySqlCommand.

Modifié Code :

...
command.Parameters.AddWithValue("@mcUserName", mcUserNameNew);
command.Parameters.AddWithValue("@mcUserPass", mcUserPassNew);
command.Parameters.AddWithValue("@twUserName", twUserNameNew);
command.Parameters.AddWithValue("@twUserPass", twUserPassNew);
...
Copier après la connexion

Considérations supplémentaires :

  • Supprimez les guillemets simples autour des espaces réservés de paramètres dans votre instruction SQL :
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES (@mcUserName, @mcUserPass, @twUserName, @twUserPass)";
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal