create PROCEDURE `procUserlogin`(
out o_user_id int,
in i_userName varchar(50),
in i_userPasword varchar(50))
begin
declare ncount int;
set @sqlstr = concat("select o_user_id = count(user_id) from user_list where user_loginname='",i_userName,"'");
prepare sqlstmt from @sqlstr;
execute sqlstmt;
select o_user_id;
end;==============================================================================================================Unknown column 'ncount' in 'field list'请问如何把查询的结果放到o_user_id中啊?

解决方案 »

  1.   

    select o_user_id = count(user_id)->
    select count(user_id) into @o_user_id set o_user_id=@o_user_id;
      

  2.   

    如何像在MS-SQL那样exec sp_ExecuteSql @sql,N'@userid int output',@userid OUTPUT
    动态查询的时间声明这个变量?
      

  3.   

    你不是已经使用PREPARE了吗?
    create PROCEDURE `procUserlogin`(
    out o_user_id int,
    in i_userName varchar(50),
    in i_userPasword varchar(50))
    begin
    declare ncount int;
    set @sqlstr = concat("select @o_user_id := count(user_id) from user_list where user_loginname='",i_userName,"'");
    prepare sqlstmt from @sqlstr;
    execute sqlstmt;
    set o_user_id=@o_user_id;
    select o_user_id;
    end;