我遇到了propel 1.6和oracle程序的問題。我將它張貼在PDO下,因爲我是Propel,只是爲了代表我對PDO的呼叫。在PDO中使用Oracle的步驟
基本程序得到用戶名和密碼,檢查是否爲 OK並返回用戶。 因此,它返回一個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:拉利內阿1, columna 7: PLS-00306:調用'SP_LOGIN'的錯誤參數的數字或類型
我在做什麼錯?
在此先感謝。
P.S:我在Propel論壇上問這個問題,他們指示我去尋找PDO解決方案。
非常感謝。我會得到另一種方法。 –