用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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
PHP array_push 数组函数
Dec 26 PHP
php Notice: Undefined index 错误提示解决方法
Aug 29 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
ThinkPHP采用原生query实现关联查询left join实例
Dec 02 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
Nov 27 PHP
PHP 的比较运算与逻辑运算详解
May 12 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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 翻页 实例代码
2009/08/07 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
PHP函数积累总结
2019/03/19 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
提交表单时执行func方法实现代码
2013/03/17 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
详谈python read readline readlines的区别
2017/09/22 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
python 6种方法实现单例模式
2020/12/15 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
师范生自荐信
2013/10/27 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书