2017-04-21 130 views
0

我是MySQL存储过程的新手。我写了登录验证,但它不会工作。Mysql存储过程问题

CREATE PROCEDURE `Login_validation`(
IN `Username` VARCHAR(50), 
IN `password` VARCHAR(50)) 
    LANGUAGE SQL 
    NOT DETERMINISTIC 
    CONTAINS SQL 
    SQL SECURITY DEFINER 
    COMMENT '' 
    BEGIN 

     IF EXISTS(SELECT * FROM user_details where [email protected]) THEN 
      BEGIN 
        IF EXISTS(SELECT * FROM user_details where [email protected] and [email protected]) THEN 
         BEGIN 
          SELECT 'SUCCESS' STATUSDISCRTIPTION, '100' STATUSCODE; 
         END; 
        ELSE 
          BEGIN 
            SELECT 'USERNAME AND PASSWORD NOT MATCHING' STATUSDISCRTIPTION, '101' STATUSCODE; 
          END; 
        END IF; 
      END; 
     ELSE 
       BEGIN 
          SELECT 'USERNAME NOT EXISTS' STATUSDISCRTIPTION , '101' STATUSCODE; 
       END; 
     END IF; 
    END 

这是我的存储过程,我选择 'USERNAME NOT EXISTS' STATUSDISCRTIPTION, '101' 的StatusCode;只有这个输出。如果循环不工作。

call Login_validation('Malathi','123456') 

malathi name is there in table。问题是什么?

回答

0

符号@username如果为用户变量,不要与存储过程参数混淆。

使用where FIRSTNAME = Username