今天晚上,刚学了,很好理解,重点是,那个SQL语句,
select count(*) from where username='"+ name +"' and password='"+ pass +"'
正常情况是:
用户输入:admin 8888
select count(*) from where username='admin' and password='888888'
如果用户输入:admin 1' or '1'='1 SQL 语句就变成,(888888 换成1' or '1'='1)
select count(*) from where username='admin' and password='1' or '1'='1' 这个SQL语句,
你运行这个,就读出二个记录。
//第三种,最佳方式。
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select count(*) from T_Users where username=@uname and password=@pwd";