<?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="https://www.jb51.net/pdotest.php">返回</a> <? } else { $html = ' <div> <form action="'.$_SERVER['REQUEST_URI'].'" method="post"> Name: <input type="text" size="10" /> Email: <input type="text" size="15" /> <input type="submit" value="Register" /> </form> </div> '; $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 .= ' <div> <table> <caption>User List</caption> <thead> <tr><th>ID</th><th>Name</th><th>Email</th></tr> </thead> <tbody>'.$userlisthtml.' </tbody> </table> </div> '; } echo $html; ?>
测试环境:
php.ini文件: 打开 extension=php_pdo_odbc.dll 去掉分号 打开aceess数据库驱动
mysql 默认打开的
访问路径:
mysql数据库
?db=mysql
aceess 数据库
特点: 使用不同数据库只要改动连接驱动即可,代码不用作任何改变,也就是抽象层的好处.