有这样一个mysql存储过程 : create procedure in_out(in uid int,out msg varchar(10)) begin select * from manage_loginhistory where h_uid=uid; set msg='hello';
end;
有2个参数 存储过程返回一个结果集 与 @msg php 该如何调用才能2个结果都能得到呢???
end;
有2个参数 存储过程返回一个结果集 与 @msg php 该如何调用才能2个结果都能得到呢???
然后再执行 select @x;取得这个返回值。
--------------------------------------------- mysql_query("call in_out(19,@msg)");
$rs=mysql_query("select @msg"); var_dump($rs); 结果为false 但@msg确实是有值 到底该如何解决!!求救
IN USER_ID INT,
IN STEP INT,
INOUT CPIC_ID INT,
OUT FILENAME VARCHAR(100)
)
BEGIN
SET @TYPER = CONCAT('TYPER', STEP);
SET @STATE = CONCAT('STATE', STEP);
SET @SQL=CONCAT('UPDATE ', @T, ' SET ',
@TYPER, '=', USER_ID, ',', @STATE, '=1 WHERE PIC_ID>=', CPIC_ID,
' AND ', @STATE, '=0 LIMIT 1;');
PREPARE STMT1 FROM @SQL;
EXECUTE STMT1;
DEALLOCATE PREPARE STMT1;
SET @SQL = CONCAT('SELECT CPIC_ID = `PIC_ID`, FILENAME = `PICNAME` FROM `STATE` WHERE ',
@TYPER, '=', USER_ID, ' AND ', @STATE, '=1 LIMIT 1');
SELECT @SQL;
PREPARE STMT2 FROM @SQL;
EXECUTE STMT2;
DEALLOCATE PREPARE STMT2;
END;
这段也无法得到输出参数!!!
2:SELECT @A;