用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关联链接常用代码
Nov 05 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
php批量上传的实现代码
Jun 09 PHP
非常实用的php弹出错误警告函数扩展性强
Jan 17 PHP
php树型类实例
Dec 05 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
Nov 30 PHP
php利用ob_start()清除输出和选择性输出的方法
Jan 18 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 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
MySQL相关说明
2007/01/15 PHP
php模板中出现空行解决方法
2011/03/08 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
javascript 表单规则集合对象
2009/07/21 Javascript
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
python迭代dict的key和value的方法
2018/07/06 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Python实现AI换脸功能
2020/04/10 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
.net软件工程师应聘上机试题
2015/03/10 面试题
个人简历自我评价
2014/02/02 职场文书
妇联主席先进事迹
2014/05/18 职场文书
学生个人总结范文
2015/02/15 职场文书
个人简历求职信范文
2015/03/20 职场文书
Python Matplotlib绘制动画的代码详解
2022/05/30 Python