Welcome 微信登录

首页 / 网页编程 / PHP / 用PHP开发IBM Cloudscape和DB2通用数据库应用程序

用PHP开发IBM Cloudscape和DB2通用数据库应用程序2011-09-19 IBM Dan Scott使用带有 Apache 2 的 PHP 的统一 ODBC 扩展

简介:学习如何配置 IBM® Cloudscape™ 10.0 和 IBM DB2® Universal Database™(DB2 UDB)Version 8.2 服务器,以便从 PHP 4.x 和 PHP 5.x 进行访问。使用统一的 ODBC 扩展编写数据库应用程序。克服可滚动游标导致的常见性能问题,并避免存储过程中的功能限制。 PHP 的统一 ODBC 扩展提供了一个公共接口,用于开发通过开放式数据库连接(Open Database Connectivity,ODBC)驱动程序连接到数据库的 PHP 应用程序。DB2 客户机包括一个 ODBC 驱动程序, 允许您访问 Apache Derby、Cloudscape、DB2 UDB for Linux™, UNIX® and Windows® 以 及 DB2 UDB for iSeries™ and zSeries® 服务器中的数据。更妙的是,您可以直接在 DB2 调 用级接口(DB2 Call Level Interface,DB2 CLI)上编译统一 ODBC 扩展,使 PHP 应用程序避免 ODBC Driver Manager 开销,直接与目标数据库服务器进行通信。

介绍 PHP:超文本处理器

PHP :超文本处理器(PHP:Hypertext Processor),是一种创建 Web 内容的、功能强大且越来越受欢迎的 服务器端脚本语言。可移植性是 PHP 受到欢迎的主要原因之一:

可以在 Microsoft Windows、 Linux、BSD、Macintosh OS X 和 UNIX 服务器上编译和运行 PHP。

PHP 可以与包括 Apache 和 Microsoft IIS 在内的大多数普及 Web 服务器紧密集成,也可以用作独立的 CGI 解释器。

PHP 的源代码可以免费获取,您可以自由编写和分发 PHP 应用程序,将其用于商业和非商业用途。

开放源码社区积极支持围绕 PHP 语言进行的开发,并在这方面做出了热心贡献。作为他们努力的结果, PHP 语言提供了一个令人印象深刻的扩展集合来提供各种功能,从 XML 转换、动态生成图像和 Adobe 可 移植文档格式(Portable Document Format,PDF)文件,到支持 SOAP 客户机和服务器。

在简要 介绍 PHP 脚本编制之后,本文将描述如何将 PHP 编译成支持 DB2 客户机的动态装入的 Apache 模块。 文章的最后是几个示例,这几个示例将演示如何使用 PHP 连接 IBM Cloudscape 或 IBM DB2 Universal Database 服务器,如何向这些服务器中插入数据,以及如何从中选择数据。本文更新了我的前一篇文章 ,将介绍堆栈各个方面的主要版本改进:从 PHP 4 到 PHP 5、从 Apache 1.3.x 到 2.0.x、从 DB2 UDB Version 7 到 Version 8,以及从基于 2.4 内核到基于 2.6 内核的 Linux 发行版本。

PHP 脚本 编制是如何工作的

PHP 基本上是一种服务器端脚本编制语言,它允许您将应用程序逻辑嵌入 HTML 页面,或者用 PHP 函数创建整个 HTML 页面。当 Web 服务器收到对某个 PHP 页面的请求时,它就将控 制权转交给 PHP 引擎。PHP 引擎装入 PHP 页面,执行该页面内所有的 PHP 函数,然后将生成的 HTML 返回给 Web 服务器。

要在 Web 页面内调用 PHP 函数,只需将 PHP 函数嵌入到常规的 HTML 源 代码内即可。PHP 函数被嵌入到以 ?php 开始并以 ? 结尾的 HTML 样式的标签内。例如,<?php echo "Hello!"; ?> 演示了对 PHP 函数 echo() 的调用。要在这个 PHP 标签内包含多个函数,可 以使用分号(;)字符将这些函数分隔开。

当然,可以在一个 PHP 脚本内包含许多 PHP 标签。为 了演示使用 PHP 编写 Web 页面是多么的容易,下面给出了一段简短的脚本,它将输出从任意值开始到任 意值结束的一系列数字。

清单 1. 打印序列函数:print.php

<?php function print_sequence ($start, $stop, $increment) {
if ($start > $stop) {
return(FALSE);
}
elseif ($increment <= 0) {
return (FALSE);
}
else {
for ($i = $start; $i < $stop; $i = $i + $increment) {
print "$i ";
}
}
return(TRUE);
}
?>
<html><head>
<title>Counting from x to y</title>
</head><body bgcolor="white">
<h1>Counting from x to y</h1>
<p>Counting from 1 to 10 by 1: <? php print_sequence(1, 10, 1)?></p>
<p>Counting from 2 to 20 by 2: <? php print_sequence(2, 20, 2)?></p>
</body>
</html>