用PHP调用Oracle存储过程的方法
2015-01-24信息快讯网
php程序访问数据库,完全可以使用存储过程,有人认为使用存储过程便于维护。不过仁者见仁,智者见智,在这个问题上,偶认为使用存储过程意味着必须要dba和开发人员更紧密配合,如果其中一方更变,则显然难以维护。
但是使用存储过程至少有两个最明显的优点:速度和效率。使用存储过程的速度显然更快。在效率上,如果应用一次需要做一系列sql操作,则需要往返于php与oracle,不如把该应用直接放到数据库方以减少往返次数,增加效率。但是在internet应用上,速度是极度重要的,所以很有必要使用存储过程。偶也是使用php调用存储过程不久,做了下面这个列子。代码
//建立一个test表 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 = "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,并设定绑定长度16位 ocibindbyname($stmt, ":name", $name, 30); //execute ociexecute($stmt); //结果 echo "name is : $name<br>"; ?>
PHP操作xml代码
PHP XML error parsing SOAP payload on line 1
PHP zlib扩展实现页面GZIP压缩输出
PHP,ASP.JAVA,JAVA代码格式化工具整理
PHP迅雷、快车、旋风下载专用链转换代码
php 提速工具eAccelerator 配置参数详解
php select,radio和checkbox默认选择的实现方法
php imagecreatetruecolor 创建高清和透明图片代码小结
php file_exists 检查文件或目录是否存在的函数
php is_file 判断给定文件名是否为一个正常的文件
php for 循环语句使用方法详细说明
php 获取select下拉列表框的值
PHP foreach循环使用详解与实例代码
Php Mssql操作简单封装支持存储过程
PHP MSSQL 存储过程的方法
php项目打包方法第1/2页
php5新改动之短标记启用方法
php5 pdo新改动加载注意事项
PHP常用函数小技巧
PHP下10件你也许并不了解的事情
PHPMailer邮件类利用smtp.163.com发送邮件方法
fleaphp下不确定的多条件查询的巧妙解决方法
php chr() ord()中文截取乱码问题解决方法
PHP通用分页类page.php[仿google分页]
php htmlentities和htmlspecialchars 的区别
PHP调用MySQL的存储过程的实现代码
php-accelerator网站加速PHP缓冲的方法
效率较高的php下读取文本文件的代码 原创
discuz Passport 通行证 整合笔记
php出现Cannot modify header information问题的解决方法大全
php调用mysql存储过程
mysql中存储过程、函数的一些问题