用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 相关文章推荐
PHP3 safe_mode 失效漏洞
Oct 09 PHP
来自PHP.NET的入门教程
Oct 09 PHP
在数据量大(超过10万)的情况下
Jan 15 PHP
深入理解PHP原理之异常机制
Aug 21 PHP
php中将时间差转换为字符串提示的实现代码
Aug 08 PHP
19个超实用的PHP代码片段
Mar 14 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
Mar 21 PHP
php实现获取近几日、月时间示例
Jul 06 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 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
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
python实现合并两个数组的方法
2015/05/16 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Python 数据结构之队列的实现
2017/01/22 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
python实现控制台输出彩色字体
2020/04/05 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
怎样自定义一个异常类
2016/09/27 面试题
大学生学雷锋活动总结
2014/06/26 职场文书
小学英语教学随笔
2015/08/14 职场文书
八年级作文之友谊
2019/12/02 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏