2017-05-25 63 views
0

嘿我的MYSQL函數得到一個錯誤。她是我的代碼:我的函數讓我找到一個不能返回的錯誤

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 
相關問題