用PHP调用数据库的存贮过程


Posted in PHP onOctober 09, 2006

昨天,看到一个战友问是否可以用php调用存贮过程,感觉应该是可以的,所以,马上进行了实验,非常的成功!非常出乎我的意料之外!因此,写出来,给大家参考!
大家知道,存储过程是在服务器端的一个脚本程序,执行起来速度很快,但它也有一个缺点,就是依赖与一个固定数据库,移植性不好!
我的上回文章,提到了用com组件是可以访问ado以及相关的组件,无论是自己建的还是系统带的,都可以扩展系统的功能,但现在php不支持dcom/com+,但相信它的下一个版本应该是支持的。
不说这么多了,我们马上试一下吧。 下面是我的一个简单的存贮过程
CREATE PROCEDURE [sp_mystoreprocedure] AS
select companyname, contactname, city from customers 其实,还可以写比较复杂的,可惜我对此研究不深,只好取简单了! 下面是我的php文件
<?
define ("OLEDB_CONNECTION_STRING",
"Provider=SQLOLEDB; Data Source=zzb; Initial Catalog=Northwind; User ID=sa; Password=");
$dbc = new COM("ADODB.Connection");
$dbc->Open(OLEDB_CONNECTION_STRING);
$command = "sp_mystoreprocedure";
$rs = $dbc->Execute($command); // Recordset
$i = 0; echo '<table cellSpacing="1" cellPadding="3" width="600" align="center" bgColor="#000000" border="0">
<tr vAlign="bottom" bgColor="#9999cc">
<th>Directive</th>
<th>Local Value</th>
<th>Master Value</th>
</tr>'; while (!$rs->EOF) {
$i += 1;
$fld0 = $rs->Fields(0);
$fld1 = $rs->Fields(1);
$fld2 = $rs->Fields(2);
print '<tr vAlign="baseline" bgColor="#cccccc">
<td bgColor="#ccccff"><b>';
print $fld0->value;
print '</b><br></td>
<td align="middle">';
print $fld1->value;
print '</td><td align="middle">';
print $fld2->value;
print '</td></tr>'; $rs->MoveNext();
}
print '</TABLE>'; $rs->Close();
?> 注意的是,你的服务器必须打开!另外,就是不能写错存贮过程的名称。否则会出项致命的错误,而且,你根本就不知道错误在那里,这就是php文件对错误处理的不好之处,但相信它以后是会改进的。 我学php需然有很长时间了,但发现要真正用好它,不那么容易,但它确实也超出了我的想象,有些东西真的很奇妙,真是,不用不知道,一用真奇妙!(出处:Viphot)

PHP 相关文章推荐
用PHP调用Oracle存储过程
Oct 09 PHP
php 安全过滤函数代码
May 07 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
PHP CURL获取返回值的方法
May 04 PHP
PHP处理Oracle的CLOB实例
Nov 03 PHP
PHP查询快递信息的方法
Mar 07 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
删除PHP数组中的重复元素的实现代码
Apr 10 PHP
PHP children()函数讲解
Feb 03 PHP
laravel返回统一格式错误码问题
Nov 04 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
php实现ping
Oct 09 #PHP
PHP也可以?成Shell Script
Oct 09 #PHP
浅谈Windows下 PHP4.0与oracle 8的连接设置
Oct 09 #PHP
Oracle 常见问题解答
Oct 09 #PHP
第1次亲密接触PHP5(1)
Oct 09 #PHP
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 #PHP
文件上传类
Oct 09 #PHP
You might like
PHP出错界面
2006/10/09 PHP
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
js模拟类继承小例子
2010/07/17 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
如何编写jquery插件
2017/03/29 jQuery
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
如何在Python对Excel进行读取
2020/06/04 Python
简单了解如何封装自己的Python包
2020/07/08 Python
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
高中化学教学反思
2014/01/13 职场文书
学校社会实践活动总结
2014/07/03 职场文书
运动员获奖感言
2014/08/15 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
2014年政工师工作总结
2014/12/18 职场文书
详解Redis主从复制实践
2021/05/19 Redis
源码解读Spring-Integration执行过程
2021/06/11 Java/Android
Python常遇到的错误和异常
2021/11/02 Python
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android