本文實例講述了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程序設計有所幫助。