亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

操作Oracle的php類(lèi)

瀏覽:70日期:2024-01-10 14:58:03

<?//【警告】:未經(jīng)許可請(qǐng)勿隨便修改//------------------------------------------------------------------------------------------//------------------------------------------------------------------------------------------//// 【文件名】:;;;;;c_ora_db.inc// 【作; 用】:;;;;;Oracle公用函數(shù)類(lèi)// 【作; 者】:;;;;;天灰//; // 【最后修改日期】:;;;;;2001/05/11[cxx];;;// 【變量定義規(guī)則】:‘C_’=字符型,‘I_’=整型,‘N_’=數(shù)字型,‘L_’=布爾型,‘A_’=數(shù)組型//------------------------------------------------------------------------------------------//------------------------------------------------------------------------------------------//;※db_logon();開(kāi)啟數(shù)據(jù)庫(kù)連接;;//;※db_query();通用select;;//;※db_change();數(shù)據(jù)庫(kù)改變的通用函數(shù)(insert,delete,update)//;※db_insert();insert,直接調(diào)用db_change()//;※db_delete();delete,直接調(diào)用db_change()//;※db_update();update,直接調(diào)用db_change() //;※db_commit();事務(wù)遞交//;※db_rollback();事務(wù)回退//;※db_logoff();斷開(kāi)數(shù)據(jù)庫(kù)連接//------------------------------------------------------------------------------------------

Class c_ora_db{ //------------------------------------------------------------------------------------------//;;;;;變量定義//------------------------------------------------------------------------------------------ var $C_user; = '';;;;//數(shù)據(jù)庫(kù)用戶(hù)名 var $C_passwd;;;;;= '';;//數(shù)據(jù)庫(kù)口令 var $C_db;= '';;//數(shù)據(jù)庫(kù)名 var $I_linkID;;;;;= 0//連線(xiàn)句柄 var $I_stmtID;;;;;= 0//查詢(xún)句柄 var $color;;='';;//全局顏色//------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_logon()//;;;;;作; 用:開(kāi)啟數(shù)據(jù)庫(kù)連接//;;;;;參; 數(shù):無(wú)//;;;;;返回值:連線(xiàn)句柄(整型)//;;;;;備; 注:無(wú)//------------------------------------------------------------------------------------------ function; db_logon(); {; $this->I_linkID =; @OCILogon($this->C_user,$this->C_passwd,$this->C_db); if ($this->I_linkID == 0){AlertExit('數(shù)據(jù)庫(kù)鏈接失敗,請(qǐng)與DBA聯(lián)系!');} return; $this->I_linkID;; }//------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_query($C_sql,$A_define='',$I_start=-1,$I_end=-1)//;;;;;作; 用:select//;;;;;參; 數(shù):$C_sql;sql語(yǔ)句//;;;;;$A_define;;;;;需綁定的字段。數(shù)組型 //;;;;;$I_start;;;;;開(kāi)始取記錄 -1則取出查詢(xún)的所有記錄//;;;;;$I_end;結(jié)束取紀(jì)錄//;;;;;返回值:二維數(shù)組($A_rs)//;;;;;備; 注:通過(guò)數(shù)字0,1,2....可訪(fǎng)問(wèn)對(duì)應(yīng)字段的值; 或通過(guò)查詢(xún)字段名也可訪(fǎng)問(wèn)對(duì)應(yīng)字段的值//;;;;;如通過(guò)$A_rs[0][0]或$A_rs[0]['NAME']或$A_rs[0]['name']都可訪(fǎng)問(wèn)首條記錄NAME字段//;;;;;$I_start,$I_end是配合分頁(yè)使用的參數(shù)。//------------------------------------------------------------------------------------------ function; db_query($C_sql,$A_define='',$I_start=-1,$I_end=-1) {; if (!$C_sql){AlertExit('參數(shù)不全!');}//檢查參數(shù) //連接檢測(cè) if ($this->I_linkID == 0){AlertExit('數(shù)據(jù)庫(kù)鏈接失敗,請(qǐng)與DBA聯(lián)系!');} //格式檢測(cè) $this -> I_stmtID = OCIParse($this -> I_linkID,$C_sql);;; if (!$this -> I_stmtID){AlertExit(' sql格式出錯(cuò)!請(qǐng)與程序員聯(lián)系');} //如果沒(méi)指定綁定的字段,則從SQL語(yǔ)句中去取 if($A_define=='') { $A_Cur = explode('select',$C_sql); $A_Cur = explode('from',$A_Cur[1]); $A_define = explode(',',$A_Cur[0]); } //綁定數(shù)據(jù)庫(kù)表字段 if(gettype($A_define) == 'array');//查詢(xún)列是數(shù)組 { for($i=0;$i<count($A_define);$i++) { $A_define_up[$i] = trim(strtoupper($A_define[$i]));;//大寫(xiě)并去除空格 } for($i=0;$i<count($A_define_up);$i++) { OCIDefineByName($this -> I_stmtID,'$A_define_up[$i]',&$$A_define[$i]);;//綁定 } } elseif(trim($A_define) <> '');;;;;//查詢(xún)列只有一個(gè) { $A_define_up = trim(strtoupper($A_define)); OCIDefineByName($this -> I_stmtID,'$A_define_up',&$$A_define); }

//執(zhí)行綁定好的SQL語(yǔ)句 if(!OCIExecute($this -> I_stmtID)) { echo '<font color=red><b>執(zhí)行出錯(cuò):</b></font>SQL Error:<font color=red>$C_sql</font><br>'; return false; } $lower = 0;;//返回二維數(shù)組的第一維下標(biāo)控制變量 $cnt = 0;;//開(kāi)始取數(shù)標(biāo)識(shí) //取記錄 while (OCIFetchInto($this -> I_stmtID,&$cur,OCI_ASSOC)) { //取查詢(xún)出來(lái)的所有記錄 if ($I_start == -1) { if (gettype($A_define) == 'array');;;;;//查詢(xún)列是數(shù)組 { for ($i=0;$i<count($A_define);$i++) { if ($cur[$A_define_up[$i]] <> $$A_define[$i]) { $$A_define[$i] = $cur[$A_define_up[$i]];;; } $A_rs[$lower][$i] = $$A_define[$i];;//用數(shù)字訪(fǎng)問(wèn) $A_rs[$lower][$A_define[$i]] = $$A_define[$i] //用小些訪(fǎng)問(wèn) $A_rs[$lower][$A_define_up[$i]] = $$A_define[$i];;//用大寫(xiě)訪(fǎng)問(wèn) } } elseif (trim($A_define) <> '');//查詢(xún)列只有一個(gè) { if ($cur[$A_define_up] <> $$A_define) { $$A_define = $cur[$A_define_up];;; } $A_rs[$lower][0] = $$A_define;;//用數(shù)字訪(fǎng)問(wèn) $A_rs[$lower][$A_define] = $$A_define //用小寫(xiě)訪(fǎng)問(wèn) $A_rs[$lower][$A_define_up] = $$A_define;;//用大些訪(fǎng)問(wèn) } $lower++;;//下標(biāo)加一 } //取出指定記錄(配合分頁(yè)使用) if ($I_start <> -1) { if ($cnt >= $I_start) { $cnt++; if ($I_end - $I_start <> 0) { $I_end--; if (gettype($A_define) == 'array') { for($i=0;$i<count($A_define_up);$i++) { if ($cur[$A_define_up[$i]] <> $$A_define[$i]) { $$A_define[$i] = $cur[$A_define_up[$i]];;; } $A_rs[$lower][$i] = $$A_define[$i];;//用數(shù)字訪(fǎng)問(wèn) $A_rs[$lower][$A_define[$i]] = $$A_define[$i] //用小些訪(fǎng)問(wèn) $A_rs[$lower][$A_define_up[$i]] = $$A_define[$i];;//用大寫(xiě)訪(fǎng)問(wèn) } }elseif(trim($A_define) <> '') { if ($cur[$A_define_up] <> $$A_define) { $$A_define = $cur[$A_define_up];;; } $A_rs[$lower][0] = $$A_define;;//用數(shù)字訪(fǎng)問(wèn) $A_rs[$lower][$A_define] = $$A_define //用小些訪(fǎng)問(wèn) $A_rs[$lower][$A_define_up] = $$A_define;;//用大寫(xiě)訪(fǎng)問(wèn);; } $lower++; }else { break //如果$I_end-$I_start=0; 表示取完記錄并跳出while循環(huán) };; }else { $cnt++ //如果$cnt<$I_start,$cnt++ } } };;//while的結(jié)束 //釋放句柄并返回查詢(xún)數(shù)據(jù)(一個(gè)二維數(shù)組) OCIFreestatement($this -> I_stmtID); return $A_rs;;;; } //function的結(jié)束//------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_change($C_sql,$A_bind)//;;;;;作; 用:db change//;;;;;參; 數(shù):$C_sql;;;;;sql語(yǔ)句//;;;;;$A_bind;;;;;需綁定的字段。數(shù)組型 //;;;;;返回值:布爾值//;;;;;備; 注:insert,delete,update通用//------------------------------------------------------------------------------------------ function db_change($C_sql,$A_bind='') { if (!$C_sql){AlertExit('參數(shù)不全!');}//檢查參數(shù) //連接檢測(cè) if($this -> I_linkID==''){;AlertExit('我們的數(shù)據(jù)庫(kù)正忙,請(qǐng)稍后再連接!');};; //格式檢測(cè) $this -> I_stmtID = OCIParse($this -> I_linkID,$C_sql);;; if (!$this -> I_stmtID){AlertExit(' sql格式出錯(cuò)!請(qǐng)與程序員聯(lián)系');} //綁定 if(gettype($A_bind) == 'array') { for($i=0;$i<count($A_bind);$i++) { global $$A_bind[$i]; $$A_bind[$i] = StripSlashes($$A_bind[$i]);;//去掉反斜線(xiàn)字元 $$A_bind[$i] = str_replace('<?','< ?',$$A_bind[$i]);;//過(guò)濾掉PHP標(biāo)示 } for($i=0;$i<count($A_bind);$i++){ OCIBindByName($this -> I_stmtID, ':$A_bind[$i]', &$$A_bind[$i], -1)//綁定 } } elseif(trim($A_bind) <> '');;;;;//不是數(shù)組,是字符 { global $$A_bind; $$A_bind = StripSlashes($$A_bind); $$A_bind = str_replace('<?','< ?',$$A_bind) //過(guò)濾掉PHP標(biāo)示 OCIBindByName($this -> I_stmtID, ':$arrBind', &$$A_bind, -1); } //執(zhí)行并檢測(cè)是否成功 if(!OCIExecute($this -> I_stmtID,OCI_DEFAULT)) { echo '<font color=red><b>執(zhí)行出錯(cuò):</b></font>SQL Error:<font color=red>$C_sql</font><br>'; return false; } /*//傳回受影響的行數(shù) global $I_changenum; $I_changenum = OCINumrows($this -> I_stmtID);*/ //釋放句柄,傳回值 OCIFreeStatement($this -> I_stmtID); return true; }//------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_delete($C_sql)//;;;;;作; 用:delete//;;;;;參; 數(shù):C_sql;sql語(yǔ)句//;;;;;返回值:布爾值//;;;;;備; 注:該函數(shù)只是為了使用直觀,本質(zhì)調(diào)用db_change()//------------------------------------------------------------------------------------------ function db_delete($C_sql) { return $this -> db_change($C_sql); }//------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_insert($C_sql,A_bind)//;;;;;作; 用:insert//;;;;;參; 數(shù):C_sql;sql語(yǔ)句//;;;;;A_bind;綁定//;;;;;返回值:布爾值//;;;;;備; 注:該函數(shù)只是為了使用直觀,本質(zhì)調(diào)用db_change()//------------------------------------------------------------------------------------------ function db_insert($C_sql,$A_bind='') { return $this -> db_change($C_sql,$A_bind); }//------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_update($C_sql,A_bind)//;;;;;作; 用:update//;;;;;參; 數(shù):C_sql;sql語(yǔ)句//;;;;;A_bind;綁定//;;;;;返回值:布爾值//;;;;;備; 注:該函數(shù)只是為了使用直觀,本質(zhì)調(diào)用db_change()//------------------------------------------------------------------------------------------ function db_update($C_sql,$A_bind='') { return $this -> db_change($C_sql,$A_bind); }//------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_commit()//;;;;;作; 用:事務(wù)遞交//;;;;;參; 數(shù):無(wú)//;;;;;返回值:布爾值//;;;;;備; 注:無(wú)//------------------------------------------------------------------------------------------;; function db_commit() { return;(OCICommit($this->I_linkID)); };;//------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_rollback()//;;;;;作; 用:事務(wù)回退//;;;;;參; 數(shù):無(wú)//;;;;;返回值:布爾值//;;;;;備; 注:無(wú)//------------------------------------------------------------------------------------------;; function db_rollback() { return; (OCIRollback($this->I_linkID)); };;//------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------//;;;;;函數(shù)名:db_logoff()//;;;;;作; 用:斷開(kāi)數(shù)據(jù)庫(kù)連接//;;;;;參; 數(shù):無(wú)//;;;;;返回值:布爾值//;;;;;備; 注:無(wú)//------------------------------------------------------------------------------------------;; function db_logoff() { return (OCILogoff($this->I_linkID)); }//------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------}?>

標(biāo)簽: PHP
主站蜘蛛池模板: 欧美黄网站免费观看 | 欧美视频 亚洲视频 | 三级黄色在线视频 | 一级毛片www | 久久婷婷综合五月一区二区 | 一级不卡毛片免费 | 久久日本精品一区二区三区 | 国产成人自拍在线 | 免费看黄色小视频 | 福利入口在线观看 | 国产精品大片 | 中文日韩欧美 | 黄视频在线观看免费视频 | 欧美一级网址 | 在线观看网站 | 国产视频高清在线观看 | 亚洲欧洲高清有无 | 在线综合网 | 欧美一级片在线视频 | 亚洲视频一区在线 | 黑人巨大进入美女深处的视频 | 在线 丝袜 欧美 日韩 制服 | 日韩一级片在线免费观看 | 日韩生活片 | 国产一区亚洲二区三区 | 特级全黄一级毛片视频 | 中国一级毛片欧美一级毛片 | 看免费一级毛片 | 久久精品国产网红主播图片 | 亚洲国产二区 | bunker国产videos| 1000部国产拍拍拍拍在线观看 | 欧美日本三级 | 成人精品一区二区www | 日韩精品亚洲专区在线观看 | 国产成人综合日韩精品婷婷九月 | 国产刚刚发育被强j在线播放 | 国产在线精品一区免费香蕉 | 91久久综合九色综合欧美亚洲 | 欧美亚洲另类一区中文字幕 | 国产主播精品 |