用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制作简单的内容采集器的原理分析
Oct 01 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
Dec 22 PHP
yii实现图片上传及缩略图生成的方法
Dec 04 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
php+mysql实现无限级分类
Nov 11 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
php提高脚本性能的4个技巧
Aug 18 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
js中生成map对象的方法
2014/01/09 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
JS中操作JSON总结
2020/12/06 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
python读写文件操作示例程序
2013/12/02 Python
Python中的一些陷阱与技巧小结
2015/07/10 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python datetime 如何处理时区信息
2020/09/02 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
HTML5 Canvas——用路径描画线条实例介绍
2013/06/09 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
银河香水:Galaxy Perfume
2019/03/25 全球购物
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
大学生入党思想汇报
2014/01/01 职场文书
企业活动策划方案
2014/06/02 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
关于vue-router-link选择样式设置
2022/04/30 Vue.js