Search

与我们合作

我们专注:网站策划设计、网络多媒体传播、网站优化及网站营销、品牌策略与设计
主营业务:网站建设、移动端微信小程序开发、VI设计、网络运营、云产品·运维解决方案

有一个品牌项目想和我们谈谈吗?

您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与您取得联系。当然也欢迎您给我们写信或是打电话,让我们听到您的声音

您也可通过下列途径与我们取得联系:

地 址: 深圳.龙岗区大运软件小镇11栋3楼

电 话: 138 2888 4598 / 138 0880 9053

网 址: http://www.appvx.cn

快速提交您的需求 ↓

PHP调用Oracle的存储过程实现方法

时间:2017-03-15 浏览:3720 编辑:深圳网站建设 来源:互联网

存储过程很高端、大气、上档次,对于存储过程我一向的观点是支持使用,必竟我们追求数据存储的“速度和效率”,Oracle作为超专业级的数据库服务引擎,在效率上,如果一次需要做一系列SQL操作,则需要往返于PHP与ORACLE之间,不如把操作直接放到数据库,这样有效减少往返次数,增加效率。为了能让想了解存储过程的朋友便于理解,写了下面这个例子,先来看如何建立数据表和存储过程:

//在Oracle中建立一个供测试的数据表

CREATE TABLE TEST (

  ID        NUMBER(16)        NOT NULL,

  NAME      VARCHAR2(30)      NOT NULL,

  PRIMARY KEY (ID)

);

//插入一条数据

INSERT INTO TEST VALUES (5, 'PHP_BOOK');

//建立一个存储过程

CREATE OR 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 = "test"; //数据库用户名

$password = "test"; //密码

$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变量名

/* 调用存储过程的sql语句(sql_sp : SQL_StoreProcedure)

 *  语法:

 *  BEGIN 存储过程名([[:]参数]); END;

 *  加上冒号表示该参数是一个位置

*/

$sql_sp = "BEGIN PROC_TEST(:id, :name); END;";

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

//执行绑定

OCIBindByName($stmt, ":id", $id, 16);//参数说明:绑定php变量$id到位置:id,并设定绑定长度16位

OCIBindByName($stmt, ":name", $name, 30);

OCIExecute($stmt);

//结果

echo "name is : $name<br>";

?>

PHP调用Oracle的存储过程.jpg

专业的网站建设公司,深正互联,如您有网站营销需求,请您关注我们,或者致电13828884598

本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
GO 欣赏案例
查看经典案例
在线咨询
电话咨询
0755-36630177
返回顶部
在线咨询 获取报价 电话咨询
获取报价
您的称呼:

*

您的电话:

*

您的邮箱:

*

提交 重置
重要的事情,电话里聊

接通客服

不方便的时候线上咨询,在线等哦