1

有人可以帮助我如何通过 php 调用 oracle 中的存储过程吗?我有存储过程的示例

CREATE OR REPLACE PROCEDURE view_institution(
       c_dbuser OUT SYS_REFCURSOR)
IS
BEGIN
  OPEN c_dbuser FOR
  SELECT * FROM institution;
END;

上述名为 view_instituion 的存储过程用于显示表机构上的所有记录。有人可以教我在 php.ini 中调用上述存储过程吗?我是玩存储过程的新手

谢谢

4

1 回答 1

7

如果您使用 PDO 引擎

/* Define output */
$output = "";    

/* The call */
$stmt= $pdo->prepare("CALL view_institution(?)");

/* Binding Parameters */
$stmt->bindParam($parameter1, $output);
 
/* Execture Query */
$stmt->execute();

/* Get output on the screeen */
print_r($output, true);

如果你使用 oci

/* The call */
$sql = "CALL view_institution(:parameter)";

/* Parse connection and sql */
$stmt= oci_parse($conn, $sql);
 
/* Binding Parameters */
oci_bind_by_name($stmt, ':parameter', $yourparameter) ;

/* Execute */
$res = oci_execute($stmt);

/* Get the output on the screen */
print_r($res, true);
于 2013-04-16T13:04:13.657 回答