本文实例讲述了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程序设计有所帮助。