﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xixi&#039;s Blog &#187; db_dataobject</title>
	<atom:link href="http://www.xixis.net/archives/tag/db_dataobject/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xixis.net</link>
	<description>http://www.xixis.net  &#124;  Eternal Sunshine of the Spotless Mind</description>
	<lastBuildDate>Thu, 12 Jan 2012 06:04:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PEAR DB_DataObject 简介</title>
		<link>http://www.xixis.net/archives/about-pear-db_dataobject.html</link>
		<comments>http://www.xixis.net/archives/about-pear-db_dataobject.html#comments</comments>
		<pubDate>Wed, 10 Feb 2010 16:06:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[db_dataobject]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[数据中间层]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://www.xixis.net/develop/php/pear-db_dataobject-%e7%ae%80%e4%bb%8b/</guid>
		<description><![CDATA[DB_DataObject将数据表封装成对象,所有对数据库的操作转化为对象的操作。  使用DataObject,完全不用跟SQL打交道。特别在需要修改数据库结构的时候，例如增加或删除表和字段、改名、更改表间关系，在设计一个稍为复杂的系统时,这些情况都会经常出现。使用DataObject,只需修改很少的几个地方，不用去修改讨厌的SQL语句。再配合其它几个类，例如FormBuilder，DataGrid，就能够用很简单的几行代码实现数据输入和输出显示等复杂功能。  很多人使用DB类，因为DB类隐藏了不同数据库的差异。但是你还是要直接使用SQL语句。DataObject在DB的基础上进一步抽象，隐藏了数据库。  
依赖关系 
 需要DB类的支持；DataObject_formBuilder依赖本类。 
优点与缺点 
 面向对象操作数据库，提高开发效率，适应变化，适合于迭代式开发。执行效率略低。 
快速开始
 注意：由于Zend存在的一个bug，如果使用Zend，必须将 DataObject.php文件中第121行  
 define(&#8216;DB_DATAOBJECT_NO_OVERLOAD&#8217;,true);  
 的注释符去掉；或在每个用到DataObject的文件的前面加上这句。原文还漏了“；”，记得加上。如果初次运行浏览器死锁或出现找不到页面，多半是这个问题。 
在mysql中建立数据库
 例如

CREATE TABLE IF NOT EXISTS `hr_employee` &#40;
`id` smallint&#40;5&#41; unsigned NOT NULL auto_increment,
`name` varchar&#40;20&#41; NOT NULL default '',
`section_id` tinyint&#40;3&#41; unsigned NOT NULL default '0',
PRIMARY KEY &#40;`id`&#41;,
&#41; TYPE=MyISAM COMMENT='员工表';
CREATE TABLE IF NOT EXISTS `hr_section` &#40;
`id` tinyint&#40;3&#41; unsigned NOT NULL auto_increment,
`name` varchar&#40;20&#41; NOT NULL default '',
PRIMARY KEY &#40;`id`&#41;,
UNIQUE KEY `name` &#40;`name`&#41;
&#41; TYPE=MyISAM COMMENT='部门表' ;
&#160;
CREATE TABLE IF NOT EXISTS `hr_project` &#40;
`id` smallint&#40;5&#41; unsigned NOT NULL auto_increment,
`name` varchar&#40;60&#41; NOT NULL default '',
`date` date ...]]></description>
			<content:encoded><![CDATA[<p>DB_DataObject将数据表封装成对象,所有对数据库的操作转化为对象的操作。<br />  使用DataObject,完全不用跟SQL打交道。特别在需要修改数据库结构的时候，例如增加或删除表和字段、改名、更改表间关系，在设计一个稍为复杂的系统时,这些情况都会经常出现。使用DataObject,只需修改很少的几个地方，不用去修改讨厌的SQL语句。再配合其它几个类，例如FormBuilder，DataGrid，就能够用很简单的几行代码实现数据输入和输出显示等复杂功能。 <br /> 很多人使用DB类，因为DB类隐藏了不同数据库的差异。但是你还是要直接使用SQL语句。DataObject在DB的基础上进一步抽象，隐藏了数据库。 <br /> <span id="more-340"></span><br />
<h3>依赖关系 </h3>
<p> 需要DB类的支持；DataObject_formBuilder依赖本类。<br /> <br />
<h3>优点与缺点 </h3>
<p> <span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1" title="显示面向对象的所有日志" target="_blank">面向对象</a></span>操作数据库，提高开发效率，适应变化，适合于迭代式开发。执行效率略低。<br /> <br />
<h3>快速开始</h3>
<p> 注意：由于Zend存在的一个bug，如果使用Zend，必须将 DataObject.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span>文件中第121行 <br /> <br />
<blockquote> define(&#8216;DB_DATAOBJECT_NO_OVERLOAD&#8217;,true);  </p></blockquote>
<p> 的注释符去掉；或在每个用到DataObject的文件的前面加上这句。原文还漏了“；”，记得加上。如果初次运行浏览器死锁或出现找不到页面，多半是这个问题。<br /> <br />
<h3>在mysql中建立数据库</h3>
<p> 例如</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">CREATE TABLE <span style="color: #b1b100;">IF</span> NOT EXISTS `hr_employee` <span style="color: #009900;">&#40;</span>
`id` smallint<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> auto_increment<span style="color: #339933;">,</span>
`name` varchar<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span> NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
`section_id` tinyint<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">'0'</span><span style="color: #339933;">,</span>
PRIMARY <span style="color: #990000;">KEY</span> <span style="color: #009900;">&#40;</span>`id`<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span> TYPE<span style="color: #339933;">=</span>MyISAM COMMENT<span style="color: #339933;">=</span><span style="color: #0000ff;">'员工表'</span><span style="color: #339933;">;</span>
CREATE TABLE <span style="color: #b1b100;">IF</span> NOT EXISTS `hr_section` <span style="color: #009900;">&#40;</span>
`id` tinyint<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> auto_increment<span style="color: #339933;">,</span>
`name` varchar<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span> NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
PRIMARY <span style="color: #990000;">KEY</span> <span style="color: #009900;">&#40;</span>`id`<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
UNIQUE <span style="color: #990000;">KEY</span> `name` <span style="color: #009900;">&#40;</span>`name`<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span> TYPE<span style="color: #339933;">=</span>MyISAM COMMENT<span style="color: #339933;">=</span><span style="color: #0000ff;">'部门表'</span> <span style="color: #339933;">;</span>
&nbsp;
CREATE TABLE <span style="color: #b1b100;">IF</span> NOT EXISTS `hr_project` <span style="color: #009900;">&#40;</span>
`id` smallint<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> auto_increment<span style="color: #339933;">,</span>
`name` varchar<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span> NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
`<span style="color: #990000;">date</span>` <span style="color: #990000;">date</span> NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">'0000-00-00'</span><span style="color: #339933;">,</span>
PRIMARY <span style="color: #990000;">KEY</span> <span style="color: #009900;">&#40;</span>`id`<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
UNIQUE <span style="color: #990000;">KEY</span> `name` <span style="color: #009900;">&#40;</span>`name`<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span> TYPE<span style="color: #339933;">=</span>MyISAM COMMENT<span style="color: #339933;">=</span><span style="color: #0000ff;">'项目表'</span> <span style="color: #339933;">;</span>
&nbsp;
CREATE TABLE <span style="color: #b1b100;">IF</span> NOT EXISTS `hr_employee_project` <span style="color: #009900;">&#40;</span>
`id` int<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> auto_increment<span style="color: #339933;">,</span>
`employee_id` smallint<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">'0'</span><span style="color: #339933;">,</span>
`project_id` smallint<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">'0'</span><span style="color: #339933;">,</span>
PRIMARY <span style="color: #990000;">KEY</span> <span style="color: #009900;">&#40;</span>`id`<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
UNIQUE <span style="color: #990000;">KEY</span> `employee_id` <span style="color: #009900;">&#40;</span>`employee_id`<span style="color: #339933;">,</span>`project_id`<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span> TYPE<span style="color: #339933;">=</span>MyISAM COMMENT<span style="color: #339933;">=</span><span style="color: #0000ff;">'员工-项目表'</span><span style="color: #339933;">;</span></pre></div></div>

<p>创建DataObject.ini</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #009900;">&#91;</span>DB_DataObject<span style="color: #009900;">&#93;</span>
 database <span style="color: #339933;">=</span> <span style="color: #990000;">mysql</span><span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//user:password@server/database </span>
 schema_location <span style="color: #339933;">=</span> <span style="color: #339933;">/</span>DataObjects
 class_location  <span style="color: #339933;">=</span> <span style="color: #339933;">/</span>DataObjects
 require_prefix  <span style="color: #339933;">=</span> <span style="color: #339933;">/</span>DataObjects<span style="color: #339933;">/</span></pre></div></div>

<p>创建 CreateDataObjectClasses.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
   <span style="color: #666666; font-style: italic;">//注意设置好你的<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/pear" title="显示pear的所有日志" target="_blank">pear</a></span>包含路径</span>
   <span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'d:/www/Pear/DB/DataObject/Generator.php'</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$config</span> <span style="color: #339933;">=</span> <span style="color: #990000;">parse_ini_file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;D:\www\hr\DataObjects\DataObject.ini&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span>PEAR<span style="color: #339933;">::</span><span style="color: #004000;">getStaticProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_DataObject'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'options'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'DB_DataObject'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
       <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       PEAR<span style="color: #339933;">::</span><span style="color: #004000;">raiseError</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>错误:无法读取ini文件<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> PEAR_ERROR_DIE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #990000;">exit</span><span style="color: #339933;">;</span>   
       <span style="color: #009900;">&#125;</span>
   <span style="color: #990000;">set_time_limit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   DB_DataObject<span style="color: #339933;">::</span><span style="color: #004000;">debugLevel</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$generator</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DB_DataObject_Generator<span style="color: #339933;">;</span>
   <span style="color: #000088;">$generator</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>运行 CreateDataObjectClasses.php<br />
在DataObjects目录中自动为数据库中每个表生一个 DataObject的子类，存为相应的php文件。<br /> <br />
自动生成一个db.ini配置文件，db是你的数据库的名字。这个文件保存了每个表中各字段类型信息，用数字表示，是自动生成的，请不要修改这个表。 <br />
创建db.link.ini</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #009900;">&#91;</span>hr_employee<span style="color: #009900;">&#93;</span> section_id <span style="color: #339933;">=</span> hr_section<span style="color: #339933;">:</span>id 
<span style="color: #009900;">&#91;</span>hr_employee_project<span style="color: #009900;">&#93;</span> employee_id <span style="color: #339933;">=</span> hr_employee<span style="color: #339933;">:</span>id 
project_id <span style="color: #339933;">=</span> hr_training_project<span style="color: #339933;">:</span>id 
<span style="color: #009900;">&#91;</span>hr_project<span style="color: #009900;">&#93;</span> id <span style="color: #339933;">=</span> hr_employee<span style="color: #339933;">:</span>id</pre></div></div>

<p>上述步骤看起来复杂，做好了一切就简单了。这可以我摸索了近半个月才搞清楚的。 </p>
<p>现在可以开始了。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #000000; font-weight: bold;">&lt;?</span> 
<span style="color: #666666; font-style: italic;">//取单个表的数据</span>
 <span style="color: #000088;">$employee</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Hr_employee<span style="color: #339933;">;</span>
 <span style="color: #000088;">$employee</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'张三'</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$employee</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">find</span><span style="color: #009900;">&#40;</span>ture<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'员工'</span><span style="color: #339933;">.</span><span style="color: #000088;">$employee</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'的职务是'</span><span style="color: #339933;">.</span><span style="color: #000088;">$employee</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">position</span><span style="color: #339933;">.</span><span style="color: #0000ff;">', '</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">//取多对一关系的数据</span>
  <span style="color: #000088;">$employee</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getLinks</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'工作部门是'</span><span style="color: #339933;">.</span><span style="color: #000088;">$employee</span><span style="color: #339933;">-&gt;</span>_section_id<span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'，'</span><span style="color: #339933;">;</span>
   <span style="color: #666666; font-style: italic;">//取多对多关系的数据 echo '参加的项目包括';</span>
 <span style="color: #000088;">$e_p</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Hr_employee_project<span style="color: #339933;">;</span>
 <span style="color: #000088;">$e_p</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">employee_id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$employee</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$e_p</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">find</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$e_p</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetch</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   <span style="color: #000088;">$project</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$e_p</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getLink</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'project_id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$project</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'、'</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'。'</span><span style="color: #339933;">;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.xixis.net/archives/about-pear-db_dataobject.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>adodb+smarty+myClass 结合－数据类的智能操作</title>
		<link>http://www.xixis.net/archives/adodb-smarty-myclass-binding-the-data-type-intelligent-operation.html</link>
		<comments>http://www.xixis.net/archives/adodb-smarty-myclass-binding-the-data-type-intelligent-operation.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 20:07:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[adodb]]></category>
		<category><![CDATA[db_dataobject]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[数据中间层]]></category>
		<category><![CDATA[类]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://www.xixis.net/develop/php/adodbsmartymyclass-%e7%bb%93%e5%90%88%ef%bc%8d%e6%95%b0%e6%8d%ae%e7%b1%bb%e7%9a%84%e6%99%ba%e8%83%bd%e6%93%8d%e4%bd%9c/</guid>
		<description><![CDATA[本文转载于http://blog.csdn.net/phphot，作者利用一个函数实现了对数据库的插入、更新与删除，赞！  最近接到一项目，精略计算了一下内容，设计数据库表为45个左右。这么多表，的确够头疼的。怎么做到最少操作但能达到最大的效果呢？ 本人经过分析，决定自己写数据辅助类来协助ADODB来完成工作。  首先，确定你的目录结构，本人目录结构如下：
 &#124;-admin //后台  &#124;-adodb //adodb文件目录  &#124;-smarty //smarty文件目录  &#124;-images //图片及样式文件珓  &#124;-dataclass //数据操作类文件夹  &#8211;&#124;-class_test.php //测试类  &#124;-configs //系统配置文件夹  &#8211;&#124;-config.inc.php //系统配置文件  &#124;-cache //缓冲目录  &#124;-templates //模板文件  &#8211;&#124;-templates_c //模板解析文件夹  &#8212;-&#124;-test.htm //测试模板文件  include.inc.php //系统包含文件集  smarty_adodb.inc.php //smarty adodb类声明文件  test.php //测试文件 
  　　做好以上工作，让我们开始工作吧！首先，定义你的 config.inc.php 配置文件：

&#60;?php 
$_DB&#91;host&#93; = 'localhost'; #数据库IP 
$_DB&#91;user&#93; = 'root'; #用户名 
$_DB&#91;pass&#93; = 'root'; #数据库密码 
$_DB&#91;name&#93; = 'yop';  #数据库名 
$_DB&#91;type&#93; = 'mysql'; #类型 
?&#62;

smarty_adodb.inc.php

&#60;?php 
$db = &#38;ADONewConnection&#40;$_DB&#91;type&#93;&#41;; 
$db -&#62;Connect&#40;$_DB&#91;host&#93;,$_DB&#91;user&#93;,$_DB&#91;pass&#93;,$_DB&#91;name&#93;&#41;; #adodb链接 
$tpl=new Smarty; 
$tpl-&#62;template_dir=&#34;./templates&#34;; 
$tpl-&#62;compile_dir=&#34;./templates/templates_c&#34;; 
$tpl-&#62;left_delimiter = ...]]></description>
			<content:encoded><![CDATA[<p>本文转载于http://blog.csdn.net/phphot，作者利用一个函数实现了对数据库的插入、更新与删除，赞！<br /> <span id="more-329"></span> 最近接到一项目，精略计算了一下内容，设计数据库表为45个左右。这么多表，的确够头疼的。怎么做到最少操作但能达到最大的效果呢？<br /> 本人经过分析，决定自己写数据辅助<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/%e7%b1%bb" title="显示类的所有日志" target="_blank">类</a></span>来协助ADODB来完成工作。 <br /> 首先，确定你的目录结构，本人目录结构如下：<br />
<blockquote> |-admin //后台 <br /> |-<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/adodb" title="显示adodb的所有日志" target="_blank">adodb</a></span> //<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/adodb" title="显示adodb的所有日志" target="_blank">adodb</a></span>文件目录 <br /> |-<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/smarty" title="显示smarty的所有日志" target="_blank">smarty</a></span> //<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/smarty" title="显示smarty的所有日志" target="_blank">smarty</a></span>文件目录 <br /> |-images //图片及样式文件珓 <br /> |-dataclass //数据操作<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/%e7%b1%bb" title="显示类的所有日志" target="_blank">类</a></span>文件夹 <br /> &#8211;|-class_test.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span> //测试<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/%e7%b1%bb" title="显示类的所有日志" target="_blank">类</a></span> <br /> |-configs //系统配置文件夹 <br /> &#8211;|-config.inc.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span> //系统配置文件 <br /> |-cache //缓冲目录 <br /> |-templates //模板文件 <br /> &#8211;|-templates_c //模板解析文件夹 <br /> &#8212;-|-test.htm //测试模板文件 <br /> include.inc.php //系统包含文件集 <br /> smarty_adodb.inc.php //smarty <span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/adodb" title="显示adodb的所有日志" target="_blank">adodb</a></span>类声明文件 <br /> test.php //测试文件 </p></blockquote>
<p>  　　做好以上工作，让我们开始工作吧！首先，定义你的 config.inc.php 配置文件：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>host<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#数据库IP 
</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>user<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'root'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#用户名 
</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>pass<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'root'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#数据库密码 
</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>name<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'yop'</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">#数据库名 
</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>type<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'mysql'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#类型 
</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>smarty_adodb.inc.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span>ADONewConnection<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>type<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$db</span> <span style="color: #339933;">-&gt;</span><span style="color: #004000;">Connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>host<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>user<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>pass<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$_DB</span><span style="color: #009900;">&#91;</span>name<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#adodb链接 
</span><span style="color: #000088;">$tpl</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> Smarty<span style="color: #339933;">;</span> 
<span style="color: #000088;">$tpl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">template_dir</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;./templates&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$tpl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">compile_dir</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;./templates/templates_c&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$tpl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">left_delimiter</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&lt;{'</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$tpl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">right_delimiter</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'}&gt;'</span><span style="color: #339933;">;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>include.inc.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./configs/config.inc.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#加载数据链接配置 
</span><span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./adodb/adodb.inc.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">#加载adodb数据类 
</span><span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./smarty/Smarty.class.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#加载smarty模板类 
</span><span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./smarty_adodb.inc.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#加载smarty及adodb类调用集合文件 
</span><span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./dataclass/class_test.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">#加载HOBBY数据类 
</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>接着我们开始写数据操作类，笔者的数据库结构如下：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
CREATE TABLE `test` <span style="color: #009900;">&#40;</span> 
 `id` int<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> unsigned NOT <span style="color: #009900; font-weight: bold;">NULL</span> auto_increment<span style="color: #339933;">,</span> 
 `name` varchar<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span> NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> 
 `addtime` varchar<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span> NOT <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #b1b100;">default</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> 
 <span style="color: #990000;">KEY</span> `id` <span style="color: #009900;">&#40;</span>`id`<span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#41;</span></pre></div></div>

<p>class_test.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #000000; font-weight: bold;">class</span> Test <span style="color: #009900;">&#123;</span> 
   <span style="color: #000000; font-weight: bold;">function</span> getTest_ByID<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
       <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$db</span><span style="color: #339933;">;</span> 
       <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
           <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span> 
       <span style="color: #009900;">&#125;</span> 
       <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM `Test` where ID='<span style="color: #006699; font-weight: bold;">$id</span>'&quot;</span><span style="color: #339933;">;</span> 
       <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Execute</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
       <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">FetchRow</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
       <span style="color: #b1b100;">return</span> <span style="color: #000088;">$data</span><span style="color: #339933;">;</span> 
   <span style="color: #009900;">&#125;</span> 
   <span style="color: #000000; font-weight: bold;">function</span> listTest<span style="color: #009900;">&#40;</span><span style="color: #000088;">$order</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'ID'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
       <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$db</span><span style="color: #339933;">;</span> 
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$order</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
           <span style="color: #000088;">$order</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'ID'</span><span style="color: #339933;">;</span> 
       <span style="color: #009900;">&#125;</span> 
       <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM `Test` order by <span style="color: #006699; font-weight: bold;">$order</span> desc&quot;</span><span style="color: #339933;">;</span> 
       <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Execute</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
       <span style="color: #000088;">$rs</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
       <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">FetchRow</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
           <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rs</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
       <span style="color: #009900;">&#125;</span> 
       <span style="color: #b1b100;">return</span> <span style="color: #000088;">$rs</span><span style="color: #339933;">;</span> 
   <span style="color: #009900;">&#125;</span> 
   <span style="color: #000000; font-weight: bold;">function</span> setTest<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #000088;">$pairs</span><span style="color: #339933;">,</span><span style="color: #000088;">$work</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
       <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$db</span><span style="color: #339933;">;</span> 
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
           <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot; insert into Test &quot;</span><span style="color: #339933;">;</span> 
           <span style="color: #000088;">$sql</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; ( &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">join</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array_keys</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pairs</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; ) &quot;</span><span style="color: #339933;">;</span> 
           <span style="color: #000088;">$sql</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; values &quot;</span><span style="color: #339933;">;</span> 
           <span style="color: #000088;">$sql</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; ( &quot;</span><span style="color: #0000ff;">&quot; . join(array_values(<span style="color: #006699; font-weight: bold;">$pairs</span>),&quot;</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #0000ff;">&quot;) . &quot;</span><span style="color: #0000ff;">&quot; ) &quot;</span><span style="color: #339933;">;</span> 
       <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span> 
           <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$work</span><span style="color: #339933;">==</span><span style="color: #0000ff;">'update'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
               <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot; <span style="color: #006699; font-weight: bold;">$work</span> Test &quot;</span><span style="color: #339933;">;</span> 
               <span style="color: #990000;">array_walk</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pairs</span><span style="color: #339933;">,</span> <span style="color: #990000;">create_function</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;$value,&amp;$name'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'$value = $name . &quot;=&quot;&quot; . $value . &quot;&quot;&quot;; '</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
               <span style="color: #000088;">$sql</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; set &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">join</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array_values</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pairs</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
               <span style="color: #000088;">$sql</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; where id=<span style="color: #006699; font-weight: bold;">$id</span>&quot;</span><span style="color: #339933;">;</span> 
           <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$work</span><span style="color: #339933;">==</span><span style="color: #0000ff;">'delete'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
               <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$work</span> from Test where ID='<span style="color: #006699; font-weight: bold;">$id</span>'&quot;</span><span style="color: #339933;">;</span> 
           <span style="color: #009900;">&#125;</span>
       <span style="color: #009900;">&#125;</span> 
       <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Execute</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
       <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span> 
   <span style="color: #009900;">&#125;</span> 
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>　　上面这个类是最关键的。这个地方能明白，其它的都好说了。好，下面我们开始实例：</p>
<p>test.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./include.inc.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Test<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$rs</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">listTest</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$rs</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$array</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
   <span style="color: #000088;">$list</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$array</span><span style="color: #339933;">;</span> 
   <span style="color: #000088;">$tpl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">assign</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;list&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span> 
<span style="color: #000088;">$tpl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">display</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;test.htm&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$info</span><span style="color: #339933;">=</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;name&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;无喱头&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;addtime&quot;</span><span style="color: #339933;">=&gt;</span>date<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y-m-d &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setTest</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'5'</span><span style="color: #339933;">,</span><span style="color: #000088;">$info</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'update'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>接着我们写个HTM出来</p>
<p>test.htm</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #339933;">&lt;</span><span style="color: #009900;">&#123;</span>section name<span style="color: #339933;">=</span>sec loop<span style="color: #339933;">=</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">&gt;</span> 
<span style="color: #339933;">&lt;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#91;</span>sec<span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span>name<span style="color: #009900;">&#125;</span><span style="color: #339933;">&gt;</span> 
&nbsp;
&nbsp;
<span style="color: #339933;">&lt;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">/</span>section<span style="color: #009900;">&#125;</span><span style="color: #339933;">&gt;</span></pre></div></div>

<p>注：实际类名数据库名并不如上，只偶有改变。如果操作异常，请自行改正 </p>
<p>运行一下看看。 <br />
怎么样，出来了吗效果。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.xixis.net/archives/adodb-smarty-myclass-binding-the-data-type-intelligent-operation.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pear DB 入门指南</title>
		<link>http://www.xixis.net/archives/change-pear-db-getting-started-guide-2.html</link>
		<comments>http://www.xixis.net/archives/change-pear-db-getting-started-guide-2.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 19:48:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[db_dataobject]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[pear db]]></category>
		<category><![CDATA[数据中间层]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://www.xixis.net/develop/php/%e8%bd%acpear-db-%e5%85%a5%e9%97%a8%e6%8c%87%e5%8d%97/</guid>
		<description><![CDATA[很久之前转的一篇文章，非常好，迁移blog的时候丢掉了，现补上，原址找不到了。   1.         简介 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;1 2.        下载、安装 Pear&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-1 3         使用Pear DB&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-1  3.1   连接，断开数据库  3.2   执行数据库  3.3   获得select的数据  3.3.1  获取数据的函数  3.3.2  选择获取数据的格式  3.3.3  设置获取数据的格式  3.3.4  控制获取数据数量  3.3.5  清除结果，释放变量  3.4   快速retrieve数据 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;2  3.5   从查询结果获得更多信息(numRows, numCols, affectedRows, tableInfo)  3.6   自动增长（Sequences）  ...]]></description>
			<content:encoded><![CDATA[<p>很久之前转的一篇文章，非常好，迁移blog的时候丢掉了，现补上，原址找不到了。<br />  <span id="more-327"></span> 1.         简介 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;1<br /> 2.        下载、安装 Pear&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-1<br /> 3         使用Pear DB&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-1<br />  3.1   连接，断开数据库<br />  3.2   执行数据库<br />  3.3   获得select的数据<br />  3.3.1  获取数据的函数<br />  3.3.2  选择获取数据的格式<br />  3.3.3  设置获取数据的格式<br />  3.3.4  控制获取数据数量<br />  3.3.5  清除结果，释放变量<br />  3.4   快速retrieve数据 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;2<br />  3.5   从查询结果获得更多信息(numRows, numCols, affectedRows, tableInfo)<br />  3.6   自动增长（Sequences）<br />  3.7   Prepare &#038; Execute/ExcuteMultiple<br />  3.8   autoCommit, commit and rollback<br /> 4.        可用方法列表 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;3<br /> 5         错误处理机制 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;3<br /> 5.1         从Pear DB Error获得错误信息<br /> 5.2         Debug Pear DB Errors<br /> 5.3        对错误采取自动处理 <br />   1.        简介<br /> 这是一部指导我们如何使用Pear DB扩展。Pear DB，提供这样一系列的类：<br />
<blockquote>          数据库抽象          高级错误处理机制          以及其它 </p></blockquote>
<p>   2.        下载、安装Pear<br /> 由于现在Pear项目仍处于紧锣密鼓的开发之中，所以得到它的最好办法就是从CVS获得（Pear DB发行包已经跟随PHP4.0.6以后版本捆绑发布）。所以，我们只需要把Pear的根目录放到<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span>.ini配置文件 include_path中。也可以通过这样设置：<br />
<blockquote> _set(&#8216;include_path&#8217;, &#8216;/pear_base_dir&#8217;). </p></blockquote>
<p> 以下是strp by step示例：<br /> 存放Pear的目录：<br /> <br />
<blockquote> # cd /usr/local/lib </p></blockquote>
<p> 用“phpfi“口令登录:<br /> <br />
<blockquote> # cvs -d :pserver:cvsread@cvs.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span>.net:/repository login </p></blockquote>
<p> 用以下命令得到所有的<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/pear" title="显示pear的所有日志" target="_blank">pear</a></span>文件，同时也可以用来更新已经下载的文件。其他的参数有：&#8221;today&#8221;, &#8220;last month&#8221;,等。我推荐用&#8221;last week&#8221;参数，因为一般bugs的提交和修改都是每周一次。<br />
<blockquote> # cvs -d :pserver:cvsread@cvs.php.net:/repository export -D &#8220;last week&#8221; php4/<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/pear" title="显示pear的所有日志" target="_blank">pear</a></span> </p></blockquote>
<p> 编辑php.ini文件加上下面一段在include_path处：<br />
<blockquote>  /usr/local/lib/php4/pear </p></blockquote>
<p>  如果没有修改的权限，可以通过这条语句在代码中实现：<br />
<blockquote>  ini_set(&#8216;include_path&#8217;, &#8216;path_to_pear&#8217;); </p></blockquote>
<p> 获得PHP CVS的完全文档<br /> 注意Pear DB必需PHP版本4.0.4以上，而在Pear中的一些其他包如：XML Parser of the pear installer script需要PHP4.0.5以上版本。   3.        使用Pear DB<br /> 3.1         连接，断开数据库</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #666666; font-style: italic;">// The pear base directory must be in your include_path</span>
 <span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'DB.php'</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$user</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'foo'</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'bar'</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$db_name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'clients_db'</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Data Source Name: This is the universal connection string</span>
 <span style="color: #000088;">$dsn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;mysql://<span style="color: #006699; font-weight: bold;">$user</span>:<span style="color: #006699; font-weight: bold;">$pass</span>@<span style="color: #006699; font-weight: bold;">$host</span>/<span style="color: #006699; font-weight: bold;">$db_name</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// DB::connect will return a Pear DB object on success</span>
 <span style="color: #666666; font-style: italic;">// or a Pear DB Error object on error</span>
 <span style="color: #666666; font-style: italic;">// You can also set to TRUE the second param</span>
 <span style="color: #666666; font-style: italic;">// if you want a persistent connection:</span>
 <span style="color: #666666; font-style: italic;">// $db = DB::connect($dsn, true);</span>
 <span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> DB<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dsn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// With DB::isError you can differentiate between an error or</span>
 <span style="color: #666666; font-style: italic;">// a valid connection.</span>
 <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>DB<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #339933;">....</span>
 <span style="color: #666666; font-style: italic;">// You can disconnect from the database with:</span>
 <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">disconnect</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>数据源(上例中的$dsn 参数)有以下允许的格式：（从Pear/DB.php的parseDSN方法复制而来）</p>
<blockquote><p>
     *  phptype: Database backend used in PHP (mysql, odbc etc.)<br />
      *  dbsyntax: Database used with regards to SQL syntax etc.<br />
      *  protocol: Communication protocol to use (tcp, unix etc.)<br />
      *  hostspec: Host specification (hostname[:port])<br />
      *  database: Database to use on the DBMS server<br />
      *  username: User name for login<br />
      *  password: Password for login<br />
      *<br />
      * The format of the supplied DSN is in its fullest form:<br />
      *<br />
      *  phptype(dbsyntax)://username:password@protocol+hostspec/database<br />
      *<br />
      * Most variations are allowed:<br />
      *<br />
      *  phptype://username:password@protocol+hostspec:110//usr/db_file.db<br />
      *  phptype://username:password@hostspec/database_name<br />
      *  phptype://username:password@hostspec<br />
      *  phptype://username@hostspec<br />
      *  phptype://hostspec/database<br />
      *  phptype://hostspec<br />
      *  phptype(dbsyntax)<br />
      *  phptype
</p></blockquote>
<p>现在支持的数据库有 (在 phptype DSN 部分):</p>
<blockquote><p>
mysql  -> MySQL<br />
 pgsql  -> PostgreSQL<br />
 ibase  -> InterBase<br />
 msql   -> Mini SQL<br />
 mssql  -> Microsoft SQL Server<br />
 oci8   -> Oracle 7/8/8i<br />
 odbc   -> ODBC (Open Database Connectivity)<br />
 sybase -> SyBase<br />
 ifx    -> Informix<br />
 fbsql  -> FrontBase
</p></blockquote>
<p>注意并不是所有数据库特征都支持，可以从根目录>/DB/STATUS 得到详细的清单。<br />
3.2         执行数据库</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #666666; font-style: italic;">// Once you have a valid DB object</span>
 <span style="color: #339933;">...</span>
 <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;select * from clients&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// If the query is a &quot;SELECT&quot;, $db-&gt;query will return</span>
 <span style="color: #666666; font-style: italic;">// a DB Result object on success.</span>
 <span style="color: #666666; font-style: italic;">// Else it simply will return a DB_OK</span>
 <span style="color: #666666; font-style: italic;">// On failure it will return a DB Error object.</span>
 <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// Always check that $result is not an error</span>
 <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>DB<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #339933;">....</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>3.3         获得select的数据<br />
3.3.1   获取数据的函数</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #666666; font-style: italic;">// Once you have a valid DB Result object</span>
 <span style="color: #339933;">...</span>
 <span style="color: #666666; font-style: italic;">// Get each row of data on each iteration until</span>
 <span style="color: #666666; font-style: italic;">// there is no more rows</span>
 <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchRow</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>除了fetchRow()还可以使用fetchInto()直接插入$row的值。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #339933;">...</span>
 <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchInto</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>3.3.2   选择获取数据的格式<br />
获取模式有</p>
<blockquote><p>
DB_FETCHMODE_ORDERED（默认）<br />
DB_FETCHMODE_ASSOC<br />
DB_FETCHMODE_OBJECT
</p></blockquote>
<p>从获取数据方法返回的结果示例：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'select id, name, email from users'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchRow</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mode</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">//With $mode = DB_FETCHMODE_ORDERED</span>
 <span style="color: #666666; font-style: italic;">//The default behavior is to return an ordered array.</span>
 <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
     <span style="color: #cc66cc;">0</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;id&quot;</span> data<span style="color: #339933;">&gt;,</span>
     <span style="color: #cc66cc;">1</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;name&quot;</span> data<span style="color: #339933;">&gt;,</span>
     <span style="color: #cc66cc;">2</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;email&quot;</span> data<span style="color: #339933;">&gt;</span>
 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">//With $mode = DB_FETCHMODE_ASSOC</span>
 <span style="color: #666666; font-style: italic;">//Returns an associative array with column names as array keys:</span>
 <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
     <span style="color: #0000ff;">'id'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;id&quot;</span> data<span style="color: #339933;">&gt;,</span>
     <span style="color: #0000ff;">'name'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;name&quot;</span> data<span style="color: #339933;">&gt;,</span>
     <span style="color: #0000ff;">'email'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;email&quot;</span> data<span style="color: #339933;">&gt;</span>
 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">//With $mode = DB_FETCHMODE_OBJECT</span>
 <span style="color: #666666; font-style: italic;">//Returns a DB_row object with column names as properties:</span>
 <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> db_row Object 
 <span style="color: #009900;">&#40;</span>
     <span style="color: #009900;">&#91;</span>id<span style="color: #009900;">&#93;</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;id&quot;</span> data<span style="color: #339933;">&gt;,</span>
     <span style="color: #009900;">&#91;</span>name<span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;name&quot;</span> data<span style="color: #339933;">&gt;,</span>
     <span style="color: #009900;">&#91;</span>email<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&lt;</span>column <span style="color: #0000ff;">&quot;email&quot;</span> data<span style="color: #339933;">&gt;</span>
 <span style="color: #009900;">&#41;</span>
&nbsp;
 <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #339933;">;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>3.3.3   设置获取数据的格式<br />
可以使用 fetchrow() / fetchInto() 方法或者为你的DB实例设置一个默认的模式。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #339933;">...</span>
 <span style="color: #666666; font-style: italic;">// 1) Set the mode per call:</span>
 <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchRow</span><span style="color: #009900;">&#40;</span>DB_FETCHMODE_ASSOC<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #009900;">&#91;</span><span style="color: #339933;">..</span><span style="color: #009900;">&#93;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchInto</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #339933;">,</span> DB_FETCHMODE_ASSOC<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #009900;">&#91;</span><span style="color: #339933;">..</span><span style="color: #009900;">&#93;</span>
 <span style="color: #009900;">&#125;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// 2) Set the mode for all calls:</span>
 <span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> DB<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dsn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// this will set a default fetchmode for this Pear DB instance</span>
 <span style="color: #666666; font-style: italic;">// (for all queries)</span>
 <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setFetchMode</span><span style="color: #009900;">&#40;</span>DB_FETCHMODE_ASSOC<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">...</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchRow</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>3.3.4   控制获取数据数量<br />
同时Pear DB获取数据可以带有额外的参数，可以使用一个数字参数来获取需要的数据数量。在你只需要获得数据中的一部分时这时候特别有用（比如在做分页程序的时候）</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #339933;">...</span>
 <span style="color: #666666; font-style: italic;">// the row to start fetching</span>
 <span style="color: #000088;">$from</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// how many results per page</span>
 <span style="color: #000088;">$res_per_page</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// the last row to fetch for this page</span>
 <span style="color: #000088;">$to</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$from</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$res_per_page</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$from</span><span style="color: #339933;">,</span> <span style="color: #000088;">$to</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$rownum</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchrow</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fetchmode</span><span style="color: #339933;">,</span> <span style="color: #000088;">$rownum</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #339933;">....</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>3.3.5   清除结果，释放变量<br />
当你完成查询的时候，可以用free()方法来结束: </p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #339933;">...</span>
 <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SELECT * FROM clients'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchRow</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #339933;">...</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">free</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.xixis.net/archives/change-pear-db-getting-started-guide-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[原创]以 pear db开发基类创建数据中间层便利对数据库的操作</title>
		<link>http://www.xixis.net/archives/change-pear-db-getting-started-guide.html</link>
		<comments>http://www.xixis.net/archives/change-pear-db-getting-started-guide.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 19:04:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[db_dataobject]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[pear db]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://www.xixis.net/develop/php/%e8%bd%acpear-db-%e5%85%a5%e9%97%a8%e6%8c%87%e5%8d%97/</guid>
		<description><![CDATA[受到pear db_object的启发，觉得是否可以自己创建符合自己项目的基类，通过继承可以快速的实现对说据库相应表的操作方法。    首先定义数据库联接文件conn.inc.php

&#60;?php
/*
 *　用于数据的的联接操作，采用Pear的DB来操纵数据库
 */
  require_once &#34;DB.php&#34;;
  $user = 'root';//用户名
  $pass = '';//联连密码
  $host = 'localhost';//服务器名
  $db_name = 'db_name1';//数据库名
  $dsn = &#34;mysql://$user:$pass@$host/$db_name&#34;;//
  $B_DB = DB::connect&#40;$dsn&#41;;//数据库连接操作
&#160;
  if&#40;DB::isError&#40;$B_DB&#41;&#41;&#123;
  //连接错误处理
    echo &#34;An error occurred while trying to connect to the database server.
\n&#34;;
          echo &#34;Error message: &#34; . $B_DB-&#62;getMessage&#40;&#41; . &#34;
\n&#34;;
          echo &#34;A more detailed error description: &#34;;
    ...]]></description>
			<content:encoded><![CDATA[<p>受到<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/pear" title="显示pear的所有日志" target="_blank">pear</a></span> db_object的启发，觉得是否可以自己创建符合自己项目的基类，通过继承可以快速的实现对说据库相应表的操作方法。  <span id="more-323"></span>  首先定义数据库联接文件conn.inc.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/php" title="显示php的所有日志" target="_blank">php</a></span></span>
<span style="color: #666666; font-style: italic;">/*
 *　用于数据的的联接操作，采用Pear的DB来操纵数据库
 */</span>
  <span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">&quot;DB.php&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$user</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'root'</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//用户名</span>
  <span style="color: #000088;">$pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//联连密码</span>
  <span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//服务器名</span>
  <span style="color: #000088;">$db_name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'db_name1'</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//数据库名</span>
  <span style="color: #000088;">$dsn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;mysql://<span style="color: #006699; font-weight: bold;">$user</span>:<span style="color: #006699; font-weight: bold;">$pass</span>@<span style="color: #006699; font-weight: bold;">$host</span>/<span style="color: #006699; font-weight: bold;">$db_name</span>&quot;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//</span>
  <span style="color: #000088;">$B_DB</span> <span style="color: #339933;">=</span> DB<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dsn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//数据库连接操作</span>
&nbsp;
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>DB<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$B_DB</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">//连接错误处理</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;An error occurred while trying to connect to the database server.
<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Error message: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;
<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;A more detailed error description: &quot;</span><span style="color: #339933;">;</span>
          <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getDebugInfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>基类文件：BaseClass.php 非完整版本，读者可依自己项目特点抽象出适合的方法；</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>php<span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><span style="color: #666666; font-style: italic;">/*
***********************************************
*        BaseClass.php
*        Base Class of the DB Execute function
*        Version  : 1.0
*        Author   : zhxiyao (zhxiyao#gmail(dot)com)
*        Copyright: www.xixis.net
*        Writed   : 2007/07/20
*        Modified : -
***********************************************
* BaseClass作为数据库操作的基类
* 包含了大多数对数据库操作的方法
* 不要直接实例化本类，要通过继承的方法来使用
* 可以在子类中将个别方法复写以适应特定的表
***********************************************/</span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;./conn.ini.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">class</span> BC_BaseClass<span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$BV_TableName</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//对象表名在继承时负值</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$BV_SelectByID</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$DelbyID</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$BV_Insert</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">//继承时需负值</span>
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$BV_Update</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">//继承时需负值</span>
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$Error</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">/*
            构造函数初始化成员变量
        */</span>
        <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_SelectByID</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;select * from &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_TableName</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; where ID=?&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_DelbyID</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'delete from '</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_TableName</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' where ID = ?'</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">/*
            function  BF_SelectByID;
            参数: $ID
            查询ID为$ID的记录
            输出: 查询结果集 为Array
        */</span>
        <span style="color: #000000; font-weight: bold;">function</span> BF_SelectByID<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ID</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$array</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_SelectByID</span><span style="color: #339933;">,</span><span style="color: #000088;">$ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>PEAR<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;数据库错误: &quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;错误信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$array</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;详细信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$array</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getDebugInfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
                <span style="color: #000088;">$array</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchInto</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #339933;">,</span>DB_FETCHMODE_ASSOC<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Error</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;没有相关的记录&quot;</span><span style="color: #339933;">;</span>
                        <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #000088;">$row</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #666666; font-style: italic;">/*
            function  BF_SelectBySql;
            参数: $SQL
            查询SQL为$SQL的记录
            输出: 查询结果集 为Array
        */</span>
        <span style="color: #000000; font-weight: bold;">function</span> BF_SelectBySql<span style="color: #009900;">&#40;</span><span style="color: #000088;">$SQL</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SQL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>DB<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Error</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
                <span style="color: #000088;">$rows</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchInto</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #339933;">,</span>DB_FETCHMODE_ASSOC<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$rows</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rows</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Error</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;无记录.&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">return</span> <span style="color: #000088;">$rows</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #666666; font-style: italic;">/*
            function  BF_Insert;
            参数: $InsertArray
            插入SQL为$Array的记录
            输出: 结果集 为true 或者false
        */</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">function</span> BF_Insert<span style="color: #009900;">&#40;</span><span style="color: #000088;">$InsertArray</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$array</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Prepare</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_Insert</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span><span style="color: #000088;">$InsertArray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>PEAR<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;数据库错误: &quot;</span> <span style="color: #339933;">.:</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;错误信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;详细信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getDebugInfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #666666; font-style: italic;">/*
            function  BF_Update;
            参数: $UpdateArray,$ID
            插入对象为$UpdateArray的记录
            输出: 结果集 为true 或者false
        */</span>
        <span style="color: #000000; font-weight: bold;">function</span> BF_Update<span style="color: #009900;">&#40;</span><span style="color: #000088;">$UpdateArray</span><span style="color: #339933;">,</span><span style="color: #000088;">$ID</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$temp</span><span style="color: #339933;">=</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$temp</span><span style="color: #339933;">=</span><span style="color: #000088;">$UpdateArray</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$ID</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000088;">$array</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Prepare</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_Update</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
           <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
           <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>PEAR<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;数据库错误: &quot;</span> <span style="color: #339933;">.:</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;错误信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;详细信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getDebugInfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
           <span style="color: #009900;">&#125;</span>
           <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #666666; font-style: italic;">/*
            function  BF_DeleteByID;
            参数: $ID
            插入对象为$Array的记录
            输出: 结果集 为true 或者false
        */</span>
        <span style="color: #000000; font-weight: bold;">function</span> BF_DeleteByID<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ID</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$array</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prepare</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_DelbyID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span><span style="color: #000088;">$ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>DB<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Error</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;数据库错误: &quot;</span> <span style="color: #339933;">.:</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;错误信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;详细信息: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getDebugInfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                        <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$B_DB</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">affectedRows</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Error</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'该记录不存在'</span><span style="color: #339933;">;</span>
                        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'该记录不存在'</span><span style="color: #339933;">;</span>
                        <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>基类的实例化，加入操作对象是数据库db_name1中的test表：</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`test`</span> <span style="color: #66cc66;">&#40;</span>
  <span style="color: #ff0000;">`ID`</span> int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`Name`</span> int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`Bak1`</span> varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`Bak2`</span> varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span>  <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`ID`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span> TYPE<span style="color: #66cc66;">=</span>MyISAM <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span> ;</pre></div></div>

<p>建立包含支持对test表操作的类文件C_Test.php;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #009933; font-style: italic;">/**
 *类名称:BC_Test
 *类方法:
  继承自基类的方法：
 *  BF_SelectByID
 *  BF_SelectBySql
 * BF_Insert
 * BF_Update
&nbsp;
 * 类开发目标:定义封装数据库中Test表所有操作
 * 作者:zhxiyao
 *
 * @version v1.0 //每修改一次,版本增加小号1.1,大的修改变为2.0
 * 每进行一次修改,一定要在开始说明修改原因,修改后性能的改进
 * @copyright 2007
 */</span>
        <span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;./BaseClass.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">class</span>   BC_Test <span style="color: #000000; font-weight: bold;">extends</span> BC_BaseClass<span style="color: #009900;">&#123;</span>
&nbsp;
                <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_TableName</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">'test'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//指定操作表名；</span>
                        <span style="color: #666666; font-style: italic;">//初始化表含有的字段；</span>
                        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_Insert</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'INSERT INTO `test` (`Name` , `Bak1` , `Bak2`) VALUES (?,?,?)'</span><span style="color: #339933;">;</span> 
                        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">BV_Update</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'UPDATE `product` SET `Name` = ?,`Bak1` = ?,`Bak2` = ?  WHERE `ID` = ? '</span><span style="color: #339933;">;</span>
&nbsp;
                        parent<span style="color: #339933;">::</span>__construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                       
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">function</span> 新方法<span style="color: #009900;">&#123;</span>
&nbsp;
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">function</span> 基类方法名<span style="color: #009900;">&#123;</span>
                   <span style="color: #666666; font-style: italic;">//复写方法</span>
                <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>以此便可快速的实现包含对数据库对应表操作的类。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xixis.net/archives/change-pear-db-getting-started-guide.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

