用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 和 XML: 使用expat函数(二)
Oct 09 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
深入解析php之apc
May 15 PHP
sae使用smarty模板的方法
Dec 17 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php实现获取及设置用户访问页面语言类
Sep 24 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 PHP
php模式设计之观察者模式应用实例分析
Sep 25 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 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防止form重复提交的方法
2013/07/01 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
详解python Todo清单实战
2018/11/01 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
python exit出错原因整理
2020/08/31 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
Wallis官网:英国女装零售商
2020/01/21 全球购物
技能竞赛活动方案
2014/02/21 职场文书
保险公司开门红口号
2014/06/21 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
颐和园英文导游词
2015/01/30 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
电力安全学习心得体会
2016/01/18 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS
mysql的Buffer Pool存储及原理
2022/04/02 MySQL