用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中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
Feb 17 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
PHP按指定键值对二维数组进行排序的方法
Dec 22 PHP
PHP自定义错误用法示例
Sep 28 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
php输出图像的方法实例分析
Feb 16 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 PHP
Laravel下生成验证码的类
Nov 15 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
详解vue axios中文文档
2017/09/12 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
js闭包的9个使用场景
2020/12/29 Javascript
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
python实现折半查找和归并排序算法
2017/04/14 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
速比涛英国官网:Speedo英国
2019/07/15 全球购物
商务英语专业自荐信
2013/10/14 职场文书
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
一月红领巾广播稿
2014/02/11 职场文书
安全生产专项整治方案
2014/05/06 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
书法社团活动总结
2015/05/07 职场文书