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


Posted in PHP onOctober 09, 2006

用PHP调用数据库的存贮过程!
作者:fox4000

昨天,看到一个战友问是否可以用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需然有很长时间了,但发现要真正用好它,不那么容易,但它确实也超出了我的想象,有些东西真的很奇妙,真是,不用不知道,一用真奇妙!

PHP 相关文章推荐
国内php原创论坛
Oct 09 PHP
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
php仿discuz分页效果代码
Oct 02 PHP
php面向对象全攻略 (十五) 多态的应用
Sep 30 PHP
PHP下escape解码函数的实现方法
Aug 08 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
Nov 10 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
Mar 10 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP脚本的10个技巧(2)
Oct 09 #PHP
PHP脚本的10个技巧(1)
Oct 09 #PHP
图书管理程序(三)
Oct 09 #PHP
一个从别的网站抓取信息的例子(域名查询)
Oct 09 #PHP
一个PHP+MSSQL分页的例子
Oct 09 #PHP
基于文本的留言簿
Oct 09 #PHP
图书管理程序(一)
Oct 09 #PHP
You might like
将OICQ数据转成MYSQL数据
2006/10/09 PHP
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
PHP中session变量的销毁
2014/02/27 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
python 实现对文件夹内的文件排序编号
2018/04/12 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
事业单位接收函
2014/01/10 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
经营目标责任书
2015/05/08 职场文书
红歌会主持词
2015/07/02 职场文书
课改心得体会范文
2016/01/25 职场文书