用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 09 PHP
关于PHP中的Class的几点个人看法
Oct 09 PHP
一个简洁的多级别论坛
Oct 09 PHP
php 中include()与require()的对比
Oct 09 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
PHP常用开发函数解析之数组篇[未完结]
Jul 30 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 PHP
php中文字符串截取多种方法汇总
Oct 06 PHP
PHP自定义多进制的方法
Nov 03 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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 采集获取指定网址的内容
2010/01/05 PHP
php实现监听事件
2013/11/06 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
js实现分页功能
2017/05/24 Javascript
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
python实现根据图标提取分类应用程序实例
2014/09/28 Python
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python字符串详细介绍
2015/05/09 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
python3安装speech语音模块的方法
2018/12/24 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
计算机专业应届生求职信
2014/04/06 职场文书
反邪教警示教育方案
2014/05/13 职场文书
招标授权委托书样本
2014/09/23 职场文书
frg-100简单操作(设置)说明
2022/04/05 无线电