> php教程 > php手册 > PHP PDO 调用 oracle数据库存储过程,无法正常获取游标变量,有

PHP PDO 调用 oracle数据库存储过程,无法正常获取游标变量,有

WBOY
풀어 주다: 2016-06-06 19:42:34
원래의
1088명이 탐색했습니다.

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, /*用户姓

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)', )

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿