Как выполнить хранимую процедуру, используя 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);