用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 相关文章推荐
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
Yii Framework框架获取分类下面的所有子类方法
Jun 20 PHP
php调用shell的方法
Nov 05 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
php通过Chianz.com获取IP地址与地区的方法
Jan 14 PHP
PHP实现获取中英文首字母
Jun 19 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 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
pdo中使用参数化查询sql
2011/08/11 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
关于query Javascript CSS Selector engine
2013/04/12 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python实现二叉树的遍历
2017/12/11 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
python3 kubernetes api的使用示例
2021/01/12 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
2015年元旦文艺汇演主持词
2014/03/26 职场文书
社区综治工作汇报
2014/10/27 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
SQL Server Agent 服务无法启动
2022/04/20 SQL Server