测试代码如下:
<?php /************************** @Filename: pdotest.php @Content : PDO操作MySQL,Access(测试) **************************/ if($_GET['db'] == 'mysql') { $dns = 'mysql:host=localhost;dbname=test'; $dbuser = 'root'; $dbpass = 'root'; $db = new PDO($dns,$dbuser,$dbpass); } else { $db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=".getcwd()."//test.mdb"); } if($_POST['reg']) { $db->exec("INSERT INTO t_user (name,email) VALUES ('".$_POST['name']."','".$_POST['email']."') ;"); // header('Location:'.$_SERVER['PHP_SELF']); ?> <a href="pdotest.php">返回</a> <? } else { $html = ' <p id="new"> <form action="'.$_SERVER['REQUEST_URI'].'" method="post"> Name: <input type="text" name="name" size="10" /> Email: <input type="text" name="email" size="15" /> <input type="submit" name="reg" value="Register" /> </form> </p> '; $re = $db->query("SELECT uid,name,email FROM t_user ORDER BY email ;"); while($rs = $re->fetch()) { $userlisthtml .= ' <tr><td>'.$rs['uid'].'</td><td>'.$rs['name'].'</td><td>'.$rs['email'].'</td></tr>'; } $html .= ' <p id="list"> <table border="1"> <caption>User List</caption> <thead> <tr><th>ID</th><th>Name</th><th>Email</th></tr> </thead> <tbody>'.$userlisthtml.' </tbody> </table> </p> '; } echo $html; ?>
测试环境:
php.ini文件: 打开 extension=php_pdo_odbc.dll 去掉分号 打开aceess数据库驱动
mysql 默认打开的
访问路径:
mysql数据库
http://192.168.1.21/lava_guess2009/test/pdo/pdotest.php?db=mysql
aceess 数据库
http://192.168.1.21/lava_guess2009/test/pdo/pdotest.php
特点: 使用不同数据库只要改动连接驱动即可,代码不用作任何改变,也就是抽象层的好处.
希望本文所述对大家php程序设计有所帮助。
友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群