pdo作为下一个php的数据库统一接口,目前的版本是0.9,看来不久就可以release了,抢先尝鲜。 经过测试,pdo联结比adodb快3倍左右,和直接联结相差很小。 测试工具:AB 测试条件Apache/2.0.54 (Debian GNU/linux) mod_fastcgi/2.4.2 PHP/5.0.4-0.10 mod_perl/2.0.1 Perl/v5.8.7 Server at 127.0.0.1 Port 80 数据库:postgres8.0.3 硬件:C4-1.7g;384M 安装pdo需要php的开发工具包以及gcc\g++,当然也需要php的php5-dev 安装PDO_pgsql需要libpg-dev以上软件一定要apt-get否则会失败!!! #>pear remote-info pdo pear remote-info pdo Notice: Undefined index: name in Remote.php on line 132 Notice: Undefined index: version in Remote.php on line 133 Notice: Undefined index: name in CLI.php on line 443 Notice: Undefined index: license in CLI.php on line 444 Notice: Undefined index: category in CLI.php on line 445 Notice: Undefined index: summary in CLI.php on line 446 Notice: Undefined index: description in CLI.php on line 447 Package details: ================ Latest Installed - no - Package License Category Summary Description 哈,还是不知道版本好,到http://pecl.php.net/搜搜,目前版本0.9 OK #》pear install pdo-0.9 pear会帮你安装好的 编译好的模块放在了:/usr/lib/php5/20041030/ 目录下 #>cd /usr/lib/php5/20041030/ 注意:debian系统的php外部模块需要两个文件才能被起动,一个是我们刚编译的pdo.so 另外还需要一个pdo.info文件 不会写就炒下面的: package="pdo" extname="PDO" dsoname="pdo" sapilist="apache apache2 cgi cli fcgi" depends="" PRiority="500" architecture="any" 然后运行: #》 /usr/sbin/php5-modconf apache2 系统会提示你需要哪些模块,选中pdo确定 pdo就安装成功了 下面安装pdo_pgsql-0.9 这个需要按下面步骤进行: #》pear download pdo_pgsql-0.9 #> tar zxf PDO_PGSQL-0.9.tgz #>cd PDO_PGSQL-0.9 #>phpize #>./configure #>make #>make install 然后重复上面安装pdo的过程:修改pdo_pgsql.info package="pdo_pgsql" extname="PDO_PGSQL" dsoname="pdo_pgsql" sapilist="apache apache2 cgi cli fcgi" depends="" priority="500" architecture="any" 运行 #》 /usr/sbin/php5-modconf apache2 选择pdo_pgsql模块 ok 一切就绪 #》apache2 -k restart 编辑测试模块: // Connect to an ODBC database using driver invocation $host='xxxx.xxxx.com'; $port='5433'; $dbname='test'; $user='xxxxxx'; $passWord='xxxxxxxx'; //$cc = "host=$host,dbname=$dbname,port=$port"; $dsn = "pgsql:host=$host port=$port dbname=$dbname user=$user password=$password"; try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }
$sql='select * from cpjcsj'; foreach ($dbh->query($sql) as $row) { print $row['cpdm']."\t"; print $row['cpdh'] . "\t"; print $row['cpmc'] . "\n"; } ?> 好了,在你的浏览器上输入http://localhost/pdotest.php 你是否看到你数据库中的数据了 祝贺你!!! 注意:联系我时,请一定说明是从【S】看到的信息,谢谢。 |