2017-05-25 5 views
0

こんにちはMYSQL Funtionがエラーになりました。彼女は私のコードです:ここでは私のファンクションが私に返されませんでした。エラー

SET @UserId = -1; 

SELECT Id INTO UserId FROM User 
WHERE UserName = _Username AND Password = _Password; 

RETURN UserId; 

はエラーからのスクリーンショットです:

enter image description here

そして、これはあなたが夫婦の問題を持っ式

enter image description here

+2

は英語に変更してください:)画像 –

+0

にまた、あなたのタイトルあなたの実際のエラーの簡単な説明を行うことを検討します。 「私がエラーを出すのを助ける」というタイトルは役に立たない。 – Santi

+0

画像の選択にセミコロンがありません – Alfabravo

答えて

0

です。まず、@接頭辞を使用して、変数を正しく参照してください。第二に、それは常に、特定のユーザーとパスワードの組み合わせのために同じ結果を返す必要がありますようDETERMINISTICとしてマーク機能:

CREATE DEFINER=`root`@`localhost` FUNCTION `ValidateUser`(`_Username` varchar(50), `_Password` varchar(50)) RETURNS int(11) 
    DETERMINISTIC 
BEGIN 
    SET @UserId = -1; 

    SELECT Id into @UserId FROM User 
    WHERE UserName = @_Username and Password = @_Password; 


RETURN @UserId; 
END 
関連する問題