一段代碼示例代碼,目前可以兼容odbc 與 OCI 2種連接數(shù)據(jù)庫方法!
發(fā)表時間:2024-06-15 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]PHP 作的最不好的一點(diǎn)就是為每一種數(shù)據(jù)庫都設(shè)計了一種數(shù)據(jù)庫連接方法,這樣雖然可以兼容大多數(shù)的數(shù)據(jù)庫,但是一旦數(shù)據(jù)庫需要改變,則大事不妙!在這里,我給大家介紹一種我自己的一點(diǎn)心得,希望能夠起到拋磚引玉的效果!我的程序代碼如下:<? function openConn() //打開數(shù)據(jù)庫連接 ...
PHP 作的最不好的一點(diǎn)就是為每一種數(shù)據(jù)庫都設(shè)計了一種數(shù)據(jù)庫連接方法,這樣雖然可以兼容大多數(shù)的數(shù)據(jù)庫,但是一旦數(shù)據(jù)庫需要改變,則大事不妙!
在這里,我給大家介紹一種我自己的一點(diǎn)心得,希望能夠起到拋磚引玉的效果!
我的程序代碼如下:
<?
function openConn(){
//打開數(shù)據(jù)庫連接
//ODBC:
//$conn=odbc_connect("dsn","uid","pwd");
//OCI 函數(shù)
$conn=ocilogon("chat","chat");
return $conn;
}
function openSql($conn,$sql){
//執(zhí)行 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;
}
?>
這樣,一旦數(shù)據(jù)庫連接發(fā)生變化,我們只需要修改這個函數(shù)模塊即可!
在實(shí)際的應(yīng)用中的代碼如下:
<?
$conn=openconn();
$stmt=opensql($conn,$sql);
fetchrow($stmt);
echo getcolumn($stmt,"COLUMNNAME");
?>
歡迎大家批評指導(dǎo)!