澳门新葡亰平台官网用PHP调用Oracle存储过程

PHP程序访谈数据库,完全可以动用存款和储蓄进程,有人以为选用存款和储蓄进程有利维护
不过仁者见仁智者见智,各持己见,在这里个主题素材上,偶认为选取存款和储蓄进度表示必定要DBA和开荒职员更紧凑合营,就算中间一方更变,则显明难以维护。
不过运用存款和储蓄进度至稀少四个最猛烈的亮点:速度和效能。
使用存款和储蓄进度的速度显著越来越快。
在功用上,要是应用贰遍索要做一多种SQL操作,则必要往返于PHP与ORACLE,比不上把该利用直接放到数据库方以减掉往返次数,扩大功用。
然则在INTE路虎极光NET应用上,速度是极度主要的,所以很有不能够缺乏选择存款和储蓄进度。
偶也是行使PHP调用存款和储蓄过程不久,做了上边这些列子。

代码:——————————————————————————–

//创建三个TEST表 CREATE TABLE TEST ( ID NUMBERAV4(16卡塔尔国 NOT NULL, NAME
VARCHA揽胜极光2(30卡塔尔(قطر‎ NOT NULL, PRAV4IMAEnclaveY KEY (ID卡塔尔(قطر‎ 卡塔尔;

//插入一条数据 INSERT INTO TEST VALUES (5, PHP_BOOK);

//创建一个存储进度 CREATE OTiguan REPLACE PROCEDURE PROC_TEST ( p_id IN OUT
NUMBER, p_name OUT VARCHAR2 ) AS BEGIN SELECT NAME INTO p_name FROM
TEST WHERE ID = 5; END PROC_TEST; /


PHP代码:——————————————————————————–

?php

//创设数据库连接 $user = “scott”; //数据库客商名 $password = “tiger”;
//密码 $conn_str = “tnsname”; //连接串(cstr : Connection_STRing)$remote = true //是还是不是远程连接 if ($remote卡塔尔(قطر‎ { $conn = OCILogon($user,
$password, $conn_str); } else { $conn = OCILogon($user, $password); }

//设定绑定 $id = 5; //打算用于绑定的php变量 id $name = “”;
//计划用来绑定的php变量 name

/** 调用存款和储蓄进程的sql语句(sql_sp : SQL_StoreProcedure) * 语法: *
BEGIN 存款和储蓄进度名([[:]参数]); END; * 加上冒号表示该参数是叁个岗位
**/ $sql_sp = “BEGIN PROC_TEST(:id, :name); END;”;

//Parse $stmt = OCIParse($conn, $sql_sp);

//实践绑定 OCIBindByName($stmt, “:id”, $id, 16卡塔尔;
//参数表达:绑定php变量$id到岗位:id,并设定绑定长度十三位OCIBindByName($stmt, “:name”, $name, 30卡塔尔国;

//Execute OCIExecute($stmt);

//结果 echo “name is : $namebr”;

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图