【问题标题】:Request.form returns value with commaRequest.form 以逗号返回值
【发布时间】:2017-03-22 15:13:10
【问题描述】:

当我运行这段代码时:

string MySQL = "Select * From RegisterDatabase Where uName  = '" + Request.Form["username"] +"'";

这对我不起作用,所以我试图查看问题所在,结果发现 MySQL 中有一个逗号。

Select * From RegisterDatabase Where uName  = 'Test,'

我该如何解决这个问题?

【问题讨论】:

    标签: mysql sql asp.net


    【解决方案1】:

    您的代码容易出现SQL Injection attack

    你想像这样参数化查询 -

    string query = "Select * From RegisterDatabase Where uName = @username";
    
    // Remove "," from username
    string username = Request.Form["username"].ToString().Replace(",", "");
    
    MySqlCommand command = new MySqlCommand(query);
    command.Parameters.AddWithValue("@username", username);
    

    或者有些人使用?username 而不是@username

    【讨论】:

      【解决方案2】:

      使用以下

      Request.Form["username"].ToString().Replace(',',' ').Trim();

      【讨论】:

      • 非常感谢! =)
      猜你喜欢
      • 2020-06-13
      • 2016-10-15
      • 2020-10-27
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      相关资源
      最近更新 更多