请看下面的代码:
<?phprepuire "DB.php";
/*...省略了一些无关代码...*/$dsn='mysql://root@localhos/table';
$db=& DB::connect( $dsn );
if( PEAR::isError( $db ) ){dir($db->getMessage());}$sth=$db->prepare('INSERT INTO table Values (0,?,?,?,?)');
$db->execute($sth,array($a1,$a2,$a3,$a4));?>由于DB.php文件丢失了,所以问题就来了。
我一直用一些通用的方法连接数据库,就是把连接代码写进一个文件,用的时候include进来就行了。而这种连接方法显然是写了一个连接类,我不会。
& DB::connect这一行,&是什么意思?后面接的DB是类名吗?&和DB之间有个空格,DB和connect之间用两个冒号,这些请高手讲解一下。
如果可能就把这段代码都讲解一下。包括后面$db->execute这种用法。
由这种用法,哪位能把DB.php文件内容猜出来,那就非常感谢了。

解决方案 »

  1.   

    还有就是
    if( PEAR::isError( $db ) ){dir($db->getMessage());}
    这一句的判断不明白。PEAR是个什么东西?
      

  2.   

    应该是PDO吧,可惜我对这个PDO不熟悉. 
    至于两个冒号,看看
    两个冒号(::)是对类中的方法的静态引用
    也就是不需要实例化对象,直接通过类名对类中的方法进行引用
      

  3.   

    关于 PEAR一,什么是 PEAR?PEAR是PHP的官方开源类库, PHP Extension and Application Repository的缩写。Pear在英文中是梨子的意思。PEAR将PHP程序开发过程中常用的功能编写成类库,涵盖了页面呈面、数据库访问、文件操作、数据结构、缓存操作、网络协议等许多方面,用户可以很方便地使用。二,为什么要使用PEAR?PHP是一个非常优秀的脚本语言,简洁、高效,随着4.0的发布,越来越多的人使用它来进行动态网站的开发,可以说,PHP已经成为最优秀的INTERNET开发语言之一,尤其对于那些需要能够快速、高效地开发中小规模的商业应用的网站开发人员,PHP是其首选的语言。但是随着PHP的应用的不断增多,对于这些应用缺乏统一的标准和有效的管理,因此,PHP社区很难象PERL社区的人们那样方便的共享彼此的代码和应用,因为PHP缺乏象CPAN那样的统一的代码库来分类管理应用的代码模块(熟悉PERL的人都知道,CPAN是一个巨大的PERL的扩展模块仓库,编写的应用模块可以放在CPAN下面的适当的分类目录下面,其他的人可以很方便地复用,当然,你编写应用模块时候也需要遵守其中的准则。)为此,PEAR就应运而生了,并且从4.04开始,随着PHP核心一起被分发。三,PEAR能给我带来什么好处?1.如前所述,PEAR按照一定的分类来管理PEAR应用代码库,你的PEAR代码可以组织到其中适当的目录中,其他的人可以方便地检索并分享到你的成果。2.PEAR不仅仅是一个代码仓库,它同时也是一个标准,使用这个标准来书写你的PHP代码,将会增强你的程序的可读性,复用性,减少出错的几率。3.PEAR通过提供2个类为你搭建了一个框架,实现了诸如析构函数,错误捕获功能,你通过继承就可以使用这些功能。四,PEAR的提供目的是什么?一个PHP用户的开源(open-sourced)代码组织库一个代码分发和包维护和系统一个用PHP写的标准风格PHP 基础类(PFC)PHP扩展公共库(PECL), 更详细说明在下面一个支持 PHP/PEAR 团体的网站,邮件列表和下载镜像五,PEAR有哪些入门的资料可以查看?PHP PEAR官方站
    http://pear.php.net/PHP PEAR中文站
    http://www.pearchina.com/PHP PEAR手册
    http://pear.phpv.net/cn/用PEAR来写你的下一个php程序
    http://www.ibm.com/developerworks/cn/linux/sdk/php/pear1/ 
      

  4.   

    & 表示返回一个对象的引用
    DB是类名 ::表示connect是一个静态方法 execute 是执行语句boolean PEAR::isError (mixed $data [, mixed $msgcode])
    描述
    isError()检测一个变量是否是 PEAR_Error 对象语句中的问号 占位