------------------------------------------------------------------------------------------------------------------------------
create procedure p_login (
in _name varchar(30),
in _pwd varchar(30),
out _StaffID int ,
out _FISManager int,
out i int)
begin
set i =(select count(*) from t_staff where FName=_name and FPwd=_pwd);
if i=0 then
set _StaffID=(select FStaffID from t_staff where FName=_name and FPwd=_pwd);
set _FISManager=(select FISManager from t_staff where FName=_name and FPwd=_pwd);
else
set _StaffID=0,_FISManager=0;
end if;
end
PHP代码
-----------------------------------------------------------------------------------------------------------------------------
$result=$pdo->prepare("call p_login(?,?,?,?,?)");
$result->bindParam(1,$_POST["tbName"]);
$result->bindParam(2,$_POST["tbPwd"]);
$result->bindParam(3,$StaffID,PDO::PARAM_INT,11);
$result->bindParam(4,$ISManger,PDO::PARAM_INT,11);
$result->bindParam(5,$i,PDO::PARAM_INT,11);
if ($result->execute())
echo $StaffID;
else
print_r($result->errorInfo());
结果
-------------------------------------------------------------------------
Array ( [0] => 42000 [1] => 1414 [2] => OUT or INOUT argument 3 for routine my_crm.p_login is not a variable or NEW pseudo-variable in BEFORE trigger )
感觉PHP对存储过程输入输出参数支持力度有些吃力,求大神帮忙看一下问题出在哪里?