一段代码示例代码,目前可以兼容odbc 和 OCI 两种连接数据库方法!

发表于:2007-07-01来源:作者:点击数: 标签:
PHP 作的最不好的一点就是为每一种 数据库 都设计了一种数据库连接方法,这样虽然可以兼容大多数的数据库,但是一旦数据库需要改变,则大事不妙! 在这里,我给大家介绍一种我自己的一点心得,希望能够起到抛砖引玉的效果! 我的程序代码如下: ? function o
PHP 作的最不好的一点就是为每一种数据库都设计了一种数据库连接方法,这样虽然可以兼容大多数的数据库,但是一旦数据库需要改变,则大事不妙!
在这里,我给大家介绍一种我自己的一点心得,希望能够起到抛砖引玉的效果!
我的程序代码如下:
<?
function openConn(){
   //打开数据库连接
   //ODBC:
   //$conn=odbc_connect("dsn","uid","pwd");
   //OCI 函数
   $conn=ocilogon("chat","chat");
   return $conn;
}
function openSql($conn,$sql){
  //执行 sql 语句
  //ODBC
  //$stmt=odbc_exec($conn,$sql);
  //OCI
   $stmt=ociparse($conn,$sql);
  ociexecute($stmt);
  return $stmt;
}
function GetColumn($stmt,$colname){
   //odbc
   //$ret=odbc_result($stmt,$colname);
   //OCI
   $ret=ociresult($stmt,$colname);
   return $ret;
}
  function FecthRow($stmt){
    //ODBC
    //$ret=odbc_fetch_row($stmt);
    //OCI
    $ret=ocifetch($stmt);
    return $ret;
  }
?>
这样,一旦数据库连接发生变化,我们只需要修改这个函数模块即可!
在实际的应用中的代码如下:
<?
   $conn=openconn();
   $stmt=opensql($conn,$sql);
   fetchrow($stmt);
   echo getcolumn($stmt,"COLUMNNAME");
?>
欢迎大家批评指导!

原文转自:http://www.ltesting.net