"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo resolver la advertencia obsoleta `MySqlCommand.Command.Parameters.Add` y evitar la inyección de SQL?

¿Cómo resolver la advertencia obsoleta `MySqlCommand.Command.Parameters.Add` y evitar la inyección de SQL?

Publicado el 2025-01-22
Navegar:683

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

MySqlCommand.Command.Parameters.Add Advertencia obsoleta: transición a AddWithValue

Pregunta:

Mientras utiliza MySqlCommand para insertar datos en una base de datos MySQL, recibe una advertencia que indica que "MySqlCommand.Command.Parameters.Add está obsoleto" y los valores de los parámetros no se insertan correctamente. ¿Cómo se resuelve este problema y se garantiza la seguridad de la inyección de SQL?

Respuesta:

Para abordar la advertencia y mejorar la prevención de la inyección de SQL, debe dejar de usar "Agregar" a "AddWithValue" para agregar parámetros a su MySqlCommand.

Código modificado:

...
command.Parameters.AddWithValue("@mcUserName", mcUserNameNew);
command.Parameters.AddWithValue("@mcUserPass", mcUserPassNew);
command.Parameters.AddWithValue("@twUserName", twUserNameNew);
command.Parameters.AddWithValue("@twUserPass", twUserPassNew);
...

Consideraciones adicionales:

  • Elimine las comillas simples alrededor de los marcadores de posición de parámetros en su declaración SQL:
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES (@mcUserName, @mcUserPass, @twUserName, @twUserPass)";
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3