"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver o aviso obsoleto `MySqlCommand.Command.Parameters.Add` e evitar a injeção de SQL?

Como resolver o aviso obsoleto `MySqlCommand.Command.Parameters.Add` e evitar a injeção de SQL?

Publicado em 2025-01-22
Navegar:919

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

MySqlCommand.Command.Parameters.Add Aviso obsoleto: transição para AddWithValue

Pergunta:

Ao usar MySqlCommand para inserir dados em um banco de dados MySQL, você recebe um aviso indicando que "MySqlCommand.Command.Parameters.Add está obsoleto" e os valores dos parâmetros não estão sendo inseridos corretamente. Como você resolve esse problema e garante a segurança da injeção de SQL?

Resposta:

Para resolver o aviso e melhorar a prevenção de injeção de SQL, você deve fazer a transição do uso de "Adicionar" para "AddWithValue" para adicionar parâmetros ao seu MySqlCommand.

Código modificado:

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

Considerações adicionais:

  • Remova as aspas simples em torno dos espaços reservados de parâmetro em sua instrução SQL:
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES (@mcUserName, @mcUserPass, @twUserName, @twUserPass)";
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3