电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

操作Oracle的php類

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

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

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

//執行綁定好的SQL語句 if(!OCIExecute($this -> I_stmtID)) { echo '<font color=red><b>執行出錯:</b></font>SQL Error:<font color=red>$C_sql</font><br>'; return false; } $lower = 0;;//返回二維數組的第一維下標控制變量 $cnt = 0;;//開始取數標識 //取記錄 while (OCIFetchInto($this -> I_stmtID,&$cur,OCI_ASSOC)) { //取查詢出來的所有記錄 if ($I_start == -1) { if (gettype($A_define) == 'array');;;;;//查詢列是數組 { 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];;//用數字訪問 $A_rs[$lower][$A_define[$i]] = $$A_define[$i] //用小些訪問 $A_rs[$lower][$A_define_up[$i]] = $$A_define[$i];;//用大寫訪問 } } elseif (trim($A_define) <> '');//查詢列只有一個 { if ($cur[$A_define_up] <> $$A_define) { $$A_define = $cur[$A_define_up];;; } $A_rs[$lower][0] = $$A_define;;//用數字訪問 $A_rs[$lower][$A_define] = $$A_define //用小寫訪問 $A_rs[$lower][$A_define_up] = $$A_define;;//用大些訪問 } $lower++;;//下標加一 } //取出指定記錄(配合分頁使用) 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];;//用數字訪問 $A_rs[$lower][$A_define[$i]] = $$A_define[$i] //用小些訪問 $A_rs[$lower][$A_define_up[$i]] = $$A_define[$i];;//用大寫訪問 } }elseif(trim($A_define) <> '') { if ($cur[$A_define_up] <> $$A_define) { $$A_define = $cur[$A_define_up];;; } $A_rs[$lower][0] = $$A_define;;//用數字訪問 $A_rs[$lower][$A_define] = $$A_define //用小些訪問 $A_rs[$lower][$A_define_up] = $$A_define;;//用大寫訪問;; } $lower++; }else { break //如果$I_end-$I_start=0; 表示取完記錄并跳出while循環 };; }else { $cnt++ //如果$cnt<$I_start,$cnt++ } } };;//while的結束 //釋放句柄并返回查詢數據(一個二維數組) OCIFreestatement($this -> I_stmtID); return $A_rs;;;; } //function的結束//------------------------------------------------------------------------------------------

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

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

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

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

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

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

標簽: PHP
主站蜘蛛池模板: 博博会2021_中国博物馆及相关产品与技术博览会【博博会】 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 安徽泰科检测科技有限公司【官方网站】 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 江西自考网-江西自学考试网| 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | LOGO设计_品牌设计_VI设计 - 特创易| [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 | 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | QQ房产导航-免费收录优秀房地产网站_房地产信息网 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | VI设计-LOGO设计公司-品牌设计公司-包装设计公司-导视设计-杭州易象设计 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 硅胶布|电磁炉垫片|特氟龙胶带-江苏浩天复合材料有限公司 |