用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下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
php按单词截取字符串的方法
Apr 07 PHP
php利用事务处理转账问题
Apr 22 PHP
PHP中遇到的时区问题解决方法
Jul 23 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
Apr 01 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
一个改进的UBB类
2006/10/09 PHP
PHP 简单数组排序实现代码
2009/08/05 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
PHP常用工具类大全附全部代码下载
2015/12/07 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
pygame播放音乐的方法
2015/05/19 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
浅谈Python的list中的选取范围
2018/11/12 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
如何使用Python 打印各种三角形
2019/06/28 Python
python yield关键词案例测试
2019/10/15 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
Python基于WordCloud制作词云图
2019/11/29 Python
python如何删除列为空的行
2020/07/17 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
制药工程专业应届生求职信
2013/09/24 职场文书
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
详解PyTorch模型保存与加载
2022/04/28 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python