本文实例讲述了php在数据库抽象层简单使用PDO的方法。分享给大家供大家参考,具体如下:
测试代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<?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 = ' <div 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> </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 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> </div> '; } 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程序设计有所帮助。