使用带参的SQL语句好处在于:
1、防止非法参数注入
2、避免单引号问题
关于防止非法参数注入问题
若调用此方法:
则会发现即使密码输入错误,也会显示登录成功,这是因为将登录用户名和密码与SQL语句连接后实际上会变为:
SELECT * FROM Student WHERE LoginId='Li Jinxiang' AND LoginPwd='' OR 1=1--'
我们可以看到WHERE条件子句其实永远为真,这就导致既使不知道用户名也能登录进入系统,为了避免这种情况的发生,我们可以使用带参的SQL语句,系统会对输入的密码是否合法进行校验,一旦发现有类似OR之类的非法字符,则不允许登录。
则调用方法Login_Para()后,登录结果显示为“登录失败!”: