Как выполнить хранимую процедуру, используя OCI8 в PHP

Может кто-нибудь помочь мне, как вызвать хранимую процедуру в Oracle по php? У меня есть образец хранимой процедуры

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

вышеупомянутая хранимая процедура с именем view_instituion используется для отображения всех записей в таблице института. Может кто-нибудь научить меня вызывать выше хранимую процедуру в php. Я новичок в игре с хранимой процедурой

Спасибо

1 ответ

Решение

Если вы используете двигатель PDO

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

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

/* Binding Parameters */
$foo->bindParam($parameter1, $output);

/* Execture Query */
$foo->execute();

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

Если вы используете OCI

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

/* Parse connection and sql */
$foo = oci_parse($conn, $sql);

/* Binding Parameters */
oci_bind_by_name($foo, ':parameter', $yourparameter) ;

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

/* Get the output on the screen */
print_r($res, true);
Другие вопросы по тегам