我需要一个mysql存储过程,用来验证用户登陆的,查询语句如下select count(*) from user where name=p_name and password=p_password希望是有2个传入参数,传入用户名和密码,判断查询结果是否为0,返回0或1

解决方案 »

  1.   

    declare cnt int default 0;
    select   count(*)   from   user   where   name=p_name   and   password=p_password into cnt;
    if cnt > 0 then
    else
    end if;
      

  2.   

    DELIMITER $$
    DROP PROCEDURE IF EXISTS `procCheckLogin` $$
    CREATE PROCEDURE `procCheckLogin`(p_name VARCHAR(20),p_password VARCHAR(20))
    BEGIN
    DECLARE iNum INT;
    SELECT
          COUNT(*) INTO iNum
    FROM
          `User`
    WHERE
          ( `name` = p_name )
          AND( `password` = p_password );
    IF iNum > 0 THEN
    SELECT 1 AS Result;
    ELSE
    SELECT 0 AS Result;
    END IF;
    END $$
    DELIMITER;