php在数据库抽象层简单使用PDO的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php在数据库抽象层简单使用PDO的方法。分享给大家供大家参考,具体如下:

测试代码如下:

<?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程序设计有所帮助。

相关文章

用穿越火线快速入门php面向对象

复制代码 代码如下: <?php /* *用穿越火线快速入门php面向对象! *php目前已经成为国内的主流web developer的首选开发语言,其强大的面向对象容易使初学者找...

PHP 组件化编程技巧

PHP 组件化编程技巧

但其在UI方便却有些力不从心,不仅是PHP,任何一种Web编程语言在设计UI都有类似的问题,宿主语言与HTML混和在一个文件中,大量重复的 HTML代码,毫无任何技术含量,但又非常的费时...

Smarty+QUICKFORM小小演示

由于公司需要quickform结合SMARTY的开发模式,最近几天恶补了下,跟大家分享下心得吧,quickform是一个PEAR类库,可以快速生成表单控件及验证表单的JS代码,大家可能觉...

如何阻止网站被恶意反向代理访问(防网站镜像)

什么是反向代理? 先说说正向代理的概念: 正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器。这个代理服务器呢,...

示例详解Laravel重置密码代码重构

1、首先确定重置密码的路由 我们在安装好laravel的时候默认生成的重置密码是在用户未登录的情况下进行的。所以使用原来的控制器是不可行的,并且原有的重置密码,并不需要查看原始密码是否...