php通过pdo调用存储过程,如何使用output返回值

WBOY
发布: 2016-06-23 14:23:41
原创
1346 人浏览过

CREATE PROCEDURE `para_out`(out id int)BEGIN	   SELECT 5 into id;   SELECT id;END$stmt = $dbh->prepare("CALL para_out(?)");$stmt->bindParam(1, $return_value, PDO::PARAM_INT, 8);// call the stored procedureif($stmt->execute()==false)    print_r($stmt->errorInfo());else    print "procedure returned $return_value\n";//返回Array(    [0] => 42000    [1] => 1414    [2] => OUT or INOUT argument 1 for routine test.para_out is not a variable or NEW pseudo-variable in BEFORE trigger)
登录后复制


回复讨论(解决方案)

$stmt->bindParam(1, $return_value, PDO::PARAMINT | PDO::PARAM_INPUT_OUTPUT, 8);

$stmt->bindParam(1, $return_value, PDO::PARAMINT | PDO::PARAM_INPUT_OUTPUT, 8);

一样的错误, 

您的存储过程没有声明传入参数,怎么能 CALL para_out(?) 呢?

您的存储过程没有声明传入参数,怎么能 CALL para_out(?) 呢?

请教,那应该怎么写,让它返回5 , 谢谢,

每天回帖即可获得10分可用分

唉,没人回答~~~~

人呢,

坐等答案

$stmt = $dbh->prepare("CALL para_out(?)");
改成
$stmt = $dbh->prepare("CALL para_out(@?)");
试试

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!