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

 

 

 

特点:  使用不同数据库只要改动连接驱动即可,代码不用作任何改变,也就是抽象层的好处.

时间: 2024-08-21 02:54:43

php数据库抽象层PDO的简单测试的相关文章

php数据库抽象层 PDO_php技巧

下面就来介绍一下数据库抽象层PDO的使用: PDO(PHP Data Objects)是一个轻量级的PHP扩展,提供了一个数据访问抽象层.还要就是PDO只能在PHP5.0以上版本使用. 下面来介绍一下PDO常用的预定义常量: PDO::PARAM_BOOL (integer) 表示布尔数据类型 PDO::PARAM_NULL (integer) 表示数据类型为NULL的SQL PDO::PARAM_INT (integer)  表示为integer数据类型的SQL PDO::PARAM_STR 

PEAR MDB 数据库抽象层 —— 一次编写—随处运行

数据|数据库 Write once - run anywhere一次编写--随处运行 这是Java的一句行销口号,但是它同时也是PHP的关键特性之一.许多商业模型依赖于操作系统无关性来保证产品能够销售给广泛的客户群体.因而,为什么要把你自己绑在某种数据库厂商的身上呢?数据库抽象层使得你能够与数据库独立的开发你的应用程序.但是,通常情况下它们对性能的影响超过了你所希望的,要么他们并不足够抽象以消除所有和特定数据库相关的代码. 这篇文章将教给我什么? 这篇文章将对数据库抽象包 PEAR MDB 有一

PEAR MDB 数据库抽象层 ?? 一次编写?随处运行

Write once - run anywhere一次编写--随处运行这是Java的一句行销口号,但是它同时也是PHP的关键特性之一.许多商业模型依赖于操作系统无关性来保证产品能够销售给广泛的客户群体.因而,为什么要把你自己绑在某种数据库厂商的身上呢?数据库抽象层使得你能够与数据库独立的开发你的应用程序.但是,通常情况下它们对性能的影响超过了你所希望的,要么他们并不足够抽象以消除所有和特定数据库相关的代码.这篇文章将教给我什么?这篇文章将对数据库抽象包 PEAR MDB 有一个很好的介绍.文章的

一个用于mysql的数据库抽象层函数库

<?php // // SourceForge: Breaking Down the Barriers to Open Source Development // Copyright 1999-2000 (c) The SourceForge Crew // http://sourceforge.net // // $Id: database.php,v 1.6 2000/04/11 14:17:13 cvs Exp $ // // /etc/local.inc includes the mac

一个用于mysql的数据库抽象层函数库_php基础

<?php // // SourceForge: Breaking Down the Barriers to Open Source Development // Copyright 1999-2000 (c) The SourceForge Crew // http://sourceforge.net // // $Id: database.php,v 1.6 2000/04/11 14:17:13 cvs Exp $ // // /etc/local.inc includes the mac

PHP 5 数据对象 (PDO) 抽象层与 Oracle

oracle|对象|数据 一名新 PHP 数据对象 (PDO) 数据抽象层的原始开发人员为您简要介绍该抽象层,重点讲述与 Oracle 一起运行的情况. 需要 PHP:5.0 需要其他:Oracle 8 或更高版本客户端库 下载用于 Oracle 的 PDO (Windows):php_pdo.dll, php_pdo_oci.dll 下载用于 Oracle 的 PDO (Unix):pdo, pdo_oci PDO 简介 PHP 主要是由志愿者完成的项目:尽管有少数一些固定的"核心"

PHP 5 数据对象 (PDO) 抽象层与 Oracle_php基础

一名新 PHP 数据对象 (PDO) 数据抽象层的原始开发人员为您简要介绍该抽象层,重点讲述与 Oracle 一起运行的情况. 需要 PHP:5.0需要其他:Oracle 8 或更高版本客户端库下载用于 Oracle 的 PDO (Windows):php_pdo.dll, php_pdo_oci.dll下载用于 Oracle 的 PDO (Unix):pdo, pdo_oci PDO 简介 PHP 主要是由志愿者完成的项目:尽管有少数一些固定的"核心"开发人员,但是我们没有一个人在全

asp.net-Asp.Net抽象工厂 通过反射获取配置文件信息,为什么DAL层的dll文件无法生成到UI层,而简单工厂可以?

问题描述 Asp.Net抽象工厂 通过反射获取配置文件信息,为什么DAL层的dll文件无法生成到UI层,而简单工厂可以? 使用抽象工厂三层做程序的时候,程序报错"系统找不到指定的文件".网上百度后,把DAL层生成dll的路径指向UI层的bin目录下,问题解决.程序能正常读取数据库数据.解决完这个问题后,我写了一个简单三层程序,发现简单三层的程序,运行的时候,DAL层的dll文件能自动生成到UI层,不需要修改DAL层的指向路径.请问,抽象工厂三层出现这个问题的原因是什么?为什么简单三层不

使用Spring邮件抽象层发送简单邮件

Spring提供了一个发送电子邮件的高级抽象层,它向用户屏蔽了底层邮件系统的一些细节,同时负责低层次的代表客户端的资源处理.Spring邮件抽象层的主要包为org.springframework.mail.它包括了发送电子邮件的主要接口MailSender和 封装了简单邮件的属性如from, to,cc, subject, text的值对象叫做SimpleMailMessage. 1.我们定义一个发送邮件的接口:OrderManager.java 1 public interface Order