首页 新闻 会员 周边 捐助

PHP PDO 调用 oracle数据库存储过程,无法正常获取游标变量,有其他方法获取结果集么?

0
悬赏园豆:100 [待解决问题]

create or replace procedure t_pad_user_login(

user_name varchar2, /*用户名*/
user_pwd varchar2, /*用户密码*/
user_lon float, /*经度*/
user_lat float, /*纬度*/
out_user_xh out varchar2, /*用户序号*/
out_user_realname out varchar2, /*用户姓名*/
ret out varchar2, /*返回代码 1 成功 -1 失败*/
error out varchar2, /*错误信息*/
o_cur out SYS_REFCURSOR

)

$stmt = $db->prepare("begin t_pad_user_login(user_name => ?, user_pwd => ?, user_lon => ?, user_lat => ?, out_user_xh => ?, out_user_realname => ?, ret => ?, error => ?, o_cur => ? ); END;");


$stmt->bindParam(1, $user_name, PDO::PARAM_STR, 50);
$stmt->bindParam(2, $user_pwd, PDO::PARAM_STR, 50);
$stmt->bindParam(3, $user_lon, PDO::PARAM_STR, 50);
$stmt->bindParam(4, $user_lat, PDO::PARAM_STR, 50);
$stmt->bindParam(5, $user_xh, PDO::PARAM_INPUT_OUTPUT, 50);
$stmt->bindParam(6, $user_realname, PDO::PARAM_INPUT_OUTPUT, 50);
$stmt->bindParam(7, $error_code, PDO::PARAM_INPUT_OUTPUT, 50);
$stmt->bindParam(8, $error_msg, PDO::PARAM_INPUT_OUTPUT, 2000);
$stmt->bindParam(9, $error_msg1, PDO::PARAM_LOB);

 

错误:array ( 0 => 'HY000', 1 => 6550, 2 => 'OCIStmtExecute: ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 \'T_PAD_USER_LOGIN\' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored (ext\\pdo_oci\\oci_statement.c:148)', )

青云.key的主页 青云.key | 初学一级 | 园豆:102
提问于:2014-03-26 17:39
< >
分享
所有回答(3)
0

帮顶。。。。。。。。。。。。。

[秦时明月] | 园豆:738 (小虾三级) | 2014-03-28 13:29
0

解决了吗兄弟?

王水饺的技术栈 | 园豆:7 (初学一级) | 2019-01-23 17:18
0

$stmt->bindParam 第一个参数应该是从0开始把

悟行 | 园豆:12559 (专家六级) | 2019-01-24 17:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册