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

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

时间: 2024-10-28 04:23:11

用PHP调用数据库的存贮过程!_php基础的相关文章

用PHP调用数据库的存贮过程_php基础

昨天,看到一个战友问是否可以用php调用存贮过程,感觉应该是可以的,所以,马上进行了实验,非常的成功!非常出乎我的意料之外!因此,写出来,给大家参考! 大家知道,存储过程是在服务器端的一个脚本程序,执行起来速度很快,但它也有一个缺点,就是依赖与一个固定数据库,移植性不好! 我的上回文章,提到了用com组件是可以访问ado以及相关的组件,无论是自己建的还是系统带的,都可以扩展系统的功能,但现在php不支持dcom/com+,但相信它的下一个版本应该是支持的. 不说这么多了,我们马上试一下吧. 下面

用PHP调用数据库的存贮过程!(转载) 相信各位在WIN32下用PHP的朋友发现原来用WIN32还有这好处的哦。...

过程|数据|数据库 用PHP调用数据库的存贮过程!作者:fox4000 昨天,看到一个战友问是否可以用php调用存贮过程,感觉应该是可以的,所以,马上进行了实验,非常的成功!非常出乎我的意料之外!因此,写出来,给大家参考! 大家知道,存储过程是在服务器端的一个脚本程序,执行起来速度很快,但它也有一个缺点,就是依赖与一个固定数据库,移植性不好! 我的上回文章,提到了用com组件是可以访问ado以及相关的组件,无论是自己建的还是系统带的,都可以扩展系统的功能,但现在php不支持dcom/com+,但

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

过程|数据|数据库 昨天,看到一个战友问是否可以用php调用存贮过程,感觉应该是可以的,所以,马上进行了实验,非常的成功!非常出乎我的意料之外!因此,写出来,给大家参考! 大家知道,存储过程是在服务器端的一个脚本程序,执行起来速度很快,但它也有一个缺点,就是依赖与一个固定数据库,移植性不好! 我的上回文章,提到了用com组件是可以访问ado以及相关的组件,无论是自己建的还是系统带的,都可以扩展系统的功能,但现在php不支持dcom/com+,但相信它的下一个版本应该是支持的. 不说这么多了,我们

PHP调用数据库的存贮过程

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 = &q

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

<?php   ////////////////////////////////////////////////////////////  //   EmailClass 0.5  //   class for sending mail  //  //   Paul Schreiber  //   php@paulschreiber.com  //   http://paulschreiber.com/  //  //   parameters  //   ----------  //   -

怎样在PHP中通过ADO调用Asscess数据库和COM程序_php基础

作者: John Lim. 翻译: znsoft(http://www.phpease.com znsoftm@21cn.com) PHP4已经支持Microsoft的COM技术.然而文档中在COM部分却提得很少. 这儿是几个我试过的例子.希望这些给你一些概念.注意的是这些只能运行在32位的Microsoft Windows平台下. 用php激活ADO ADO是Microsoft的数据库对象技术.ADO里面包括连接数据库的对象,从查询语句中返回数据的记录集对象和表现数据元素的字段对象. 许多数据

PHP调用三种数据库的方法(1)_php基础

MySQL是一个小巧灵珑的数据库服务器软件,对于中.小型应用系统是非常理想的.除了支持标准的ANSI SQL语句外,最重要的是,它还支持多种平台,而在Unix/Linux系统上,MySQL支持多线程运行方式,从而能获得相当好的性能.它和PHP.Apache一样,是属于开放源代码软件.其官方网站是:http://www.mysql.com,上面提供Windows,Linux,Unix版本的源代码的下载. 注意,MySQL访问函数都需要有相应的权限才能运行.常用的相关函数介绍如下: (1)integ

PHP调用三种数据库的方法(3)_php基础

Oracle(甲骨文)是世界上最为流行的关系数据库.它是大公司推崇的工业化的强有力的引擎.我们先看看其相关的函数: (1)integer ora_logon(string user , string password) 开始对一个Oracle数据库服务器的连接. (2)integer ora_open(integer connection) 打开给出的连接的游标. (3)integer ora_do(integer connection, string query) 在给出的连接上执行查询.PH

PHP调用三种数据库的方法(2)_php基础

开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准.PHP也提供了标准的接口,使得PHP能调用Access,SQL SERVER等数据库.其相关函数是: (1)integer odbc_connect(string dsn, string user, string password) 连接到一个ODBC数据库源名字上. (2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection,