用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网页木马一枚 附PHP木马的防范方法
Oct 09 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
Nov 10 PHP
php版小黄鸡simsimi聊天机器人接口分享
Jan 26 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 PHP
详解PHP归并排序的实现
Oct 18 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
Apr 20 PHP
PHP实现微信提现功能(微信商城)
Nov 21 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
PHP学习 运算符与运算符优先级
2008/06/15 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
tagName的使用,留一笔
2006/06/26 Javascript
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
jquery uaMatch源代码
2011/02/14 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
python中的yield使用方法
2014/02/11 Python
python图片验证码生成代码
2016/07/02 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
python处理大日志文件
2019/07/23 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
工程管理专业毕业生自荐信
2014/01/24 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
金融管理专业求职信
2014/07/10 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
八一建军节主持词
2015/07/01 职场文书
担保书范文
2019/07/09 职场文书