データベースからプロシージャ内の変数に値を格納し、その値を 1 増やしようとしています。これが私が行うことです。
CREATE DEFINER=`satish`@`%` PROCEDURE `p_authTeacher`(
IN username VARCHAR(35),
IN pwd VARCHAR(35),
OUT msg INT,
OUT msg1 INT,
OUT msg2 INT
)
BEGIN
select (COUNT(*) > 0) INTO @result from login where User_Name = username and User_Password = md5(pwd);
SET msg = @result;
IF @result = 1 THEN
select (COUNT(*)>0) into @result1 from login where User_Name = username and User_Password = md5(pwd) and Is_New ='F';
if @result1= 1 Then
UPDATE login SET Last_login=now() where User_Name = username and User_Password = md5(pwd);
SET msg1 = @result1;
END IF;
if @result1= 0 Then
UPDATE login SET Last_login=now() where User_Name = username and User_Password = md5(pwd);
SET msg1 = @result1;
END IF;
END IF;
IF @result = 0 THEN
select Password_Attempts into @attempts from login where User_Name = username ;
SET msg2 = @attempts;
update login set Password_Attempts=1 where username = uname;
END IF;
END
ユーザー名 = ログインテーブルの uname である列 (Password_Attempts) の値を保存しようとしています。それに1を追加し、データベースに更新します。しかし、確かに構文エラーが発生しました。これについて私を助けてください。ユーザー名とパスワードが一致しない場合でも、最後の if ブロックが機能しません。