This article mainly introduces the detailed information about php accessing oracle stored procedure instances. the instance code is attached here to help you implement such a function, for more information about how to use php to access an oracle stored procedure instance, see
For example, my local Oracle database has a package with a stored procedure:
Create or replace package PKG_TRANS_REL is -- Author: test -- Created: -- Purpose: test -- Public type declarations PKG_NAME varchar2 (20): = 'pkg _ TRANS_REL '; -- Stored procedure, procedure pro_GC_withdraw (in_merch_no in varchar2, in_withdraw_amt in number, out_result out number, out_errmsg out varchar2); end PKG_TRANS_REL;
The package name is PKG_TRANS_REL and the stored procedure is pro_GC_withdraw. This stored procedure has four parameters: two input parameters and two output parameters.
Example of calling through pdo in PHP:
$this->_pdo = new PDO(PDO_DB_DNS, PDO_DB_USER, PDO_DB_PASSWORD);$call = "CALL PKG_TRANS_REL.pro_GC_withdraw(?,?,?,?)"; try{ $stmt = $this->_pdo->prepare($call); $stmt->bindParam(1, $merch_no); $stmt->bindParam(2, $amount, PDO::PARAM_INT); $stmt->bindParam(3, $result, PDO::PARAM_INT, 4); $stmt->bindParam(4, $error_msg, PDO::PARAM_STR, 64); $stmt->execute(); }catch (PDOException $e) { $msg = 'SQL:'.$e->getMessage(); $msg = iconv('GBK','UTF-8',$msg); user_dump('SQL:'.$msg); return false; } ...
The third bindParam parameter defaults to PDO: PARAM_STR. if it is of another type, specify
The input parameter value is relatively simple, and the output parameter is slightly more complex. specify the length.
For more information about php access to oracle stored procedure instances, refer to the PHP Chinese network!