PDO调用存储过程获取返回参数的问题

xpfoo2010 2014-10-07 08:35:01
存储过程代码
------------------------------------------------------------------------------------------------------------------------------
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对存储过程输入输出参数支持力度有些吃力,求大神帮忙看一下问题出在哪里?
...全文
221 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xpfoo2010 2014-10-07
  • 打赏
  • 举报
回复
自己搞定
  $result=$pdo->prepare("call p_login(?,?,@StaffID,@ISManger,@i)");
  $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()){
		  $rs = $pdo->query("select @StaffID,@ISManger,@i")->fetch(PDO::FETCH_ASSOC);  
		  print_r($rs["@ISManger"]);
		  }
		else {
		  print_r($result->errorInfo());
		}

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧