閱讀619 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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 >
    <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 >
    <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數據庫

https://192.168.1.21/lava_guess2009/test/pdo/pdotest.php?db=mysql 


aceess 數據庫

https://192.168.1.21/lava_guess2009/test/pdo/pdotest.php

 

 

 

特點:  使用不同數據庫隻要改動連接驅動即可,代碼不用作任何改變,也就是抽象層的好處.

最後更新:2017-04-02 00:06:46

  上一篇:go 打造自己的checkinstall
  下一篇:go DataGrid模板列的CheckBox事件定義方法