0
我有两个名为security_questions并登录的表。在登录表中的列有:加入两个表,然后搜索匹配
Username, Security_QA_ID, Security_Answer, Security_Attempts,Last_Login,Password_Attempts
其中security_questions有:
ID, Name
其中Security_QA_ID与ID
CREATE DEFINER=`satish`@`%` PROCEDURE `p_chkAnswer`(
IN sq VARCHAR(75),
IN sa VARCHAR(20) ,
IN uname VARCHAR(15) ,
out msg INT
)
BEGIN
select (COUNT(*) > 0) INTO @result from login join security_questions on Security_QA_ID = ID where User_Name=uname and Name=sq and Security_Answer=sa;
set msg = @result;
if @result = 1 Then
UPDATE login SET Last_Login=now(),Password_Attempts=0 where User_Name=uname;
else
UPDATE login SET Security_Attempts=Security_Attempts+1 where User_Name=uname;
End if;
END
但每次只else部分得到执行引用。在此先感谢
感谢您的帮助,实际上我是一个初学者,在mySql中。我没有得到你想要做的事情。什么是身份验证。它的一个关键字或什么 – Subodh
我要求MySQL ** count()**从我的** SELECT **返回多少条记录。并将其作为一个名为** Authenticated **的变量返回(我可以称它为CountMePlease,它只是一个名称)。我的SQL只是找到你得到的行数,0表示用户没有提供正确的答案,1或更多意味着他给出了正确的答案。 – nrathaus
同样的结果。只有其他部分正在执行 – Subodh