У меня проблема с пропелем 1.6 и оракулом.Я публикую его в PDO, потому что я Propel только для того, чтобы передать мой вызов в PDO.
В основном процедура получает имя пользователя и пароль, проверяет, что все в порядке, и возвращает пользователя.По этой причине он возвращает types.cursorType.
SQL начнется так.
CREATE OR REPLACE
PROCEDURE "SP_LOGIN" (R_CURSOR OUT types.cursorType, UserId IN
VARCHAR2, Password IN VARCHAR2)
мой php-код:
$con = Propel::getConnection();
$sql = 'BEGIN SP_LOGIN(:CURSOR, :0, :1); END;';
$stmt = $con->prepare($sql);
$result_arr;
$stmt->bindParam(":CURSOR", $result_arr, PDO::PARAM_STR || PDO::PARAM_INPUT_OUTPUT);
$stmt->bindParam(":0", $username, PDO::PARAM_STR);
$stmt->bindParam(":1", $password, PDO::PARAM_STR);
$stmt->execute();
$result_arr = $stmt->fetchAll();
Теперь, который выдает исключение типа: {PDOException} SQLSTATE [HY000]: Общая ошибка: 6550 OCIStmtExecute: ORA-06550: línea1, колонна 7: PLS-00306: числа или типы неверных аргументов, вызывающих 'SP_LOGIN'
Что я делаю не так?
Заранее спасибо.
PS: Я задаю этот вопрос на форуме Propel, и они направляют меня на поиск решения PDO.