用PHP调用数据库的存贮过程!


Posted in PHP onOctober 09, 2006

用PHP调用数据库的存贮过程!
作者:fox4000

昨天,看到一个战友问是否可以用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需然有很长时间了,但发现要真正用好它,不那么容易,但它确实也超出了我的想象,有些东西真的很奇妙,真是,不用不知道,一用真奇妙!

PHP 相关文章推荐
推荐文章系统(一)
Oct 09 PHP
基于PHP文件操作的详解
Jun 05 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
PHP与以太坊交互详解
Aug 24 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
Oct 12 PHP
PHP脚本的10个技巧(2)
Oct 09 #PHP
PHP脚本的10个技巧(1)
Oct 09 #PHP
图书管理程序(三)
Oct 09 #PHP
一个从别的网站抓取信息的例子(域名查询)
Oct 09 #PHP
一个PHP+MSSQL分页的例子
Oct 09 #PHP
基于文本的留言簿
Oct 09 #PHP
图书管理程序(一)
Oct 09 #PHP
You might like
PHP修改session_id示例代码
2014/01/08 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
Nodejs libuv运行原理详解
2019/08/21 NodeJs
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
python中__call__方法示例分析
2014/10/11 Python
为python设置socket代理的方法
2015/01/14 Python
python3.6数独问题的解决
2019/01/21 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
Python 硬币兑换问题
2019/07/29 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
PyTorch中permute的用法详解
2019/12/30 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
大专计算机个人求职的自我评价
2013/10/21 职场文书
五年级音乐教学反思
2014/02/06 职场文书
十佳少年事迹材料
2014/12/25 职场文书
亲属关系公证书样本
2015/01/23 职场文书
泰山导游词
2015/02/02 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书