db == NULL){ header("Content-type: text/html; charset=utf-8"); // $this->db = oci_connect('bqe','bqe','123.57.47.91:1521/bqedb','AL32UTF8'); $this->db = oci_new_connect('csyt', 'csyt', '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.190.217)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )', 'ZHS16GBK'); } if(!$this->db){ $e = oci_error(); Tool_Fnc::ajaxMsg(htmlentities($e['message'], ENT_QUOTES)); }else{ return $this->db; } } public function getRow($tSql){ $stid = oci_parse($this->db, $tSql); $r = oci_execute($stid); $row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS); return $row; } public function getAll($tSql){ $stid = oci_parse($this->db, $tSql); $r = oci_execute($stid); $tDatas = array(); while($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)){ $tDatas[] = $row; } return $tDatas; } public function exec($tSql){ $stid = oci_parse($this->db, $tSql); return oci_execute($stid); } /** * 添加记录 * return lastid */ public function insert($pData, $pReplace = false){ if($this->_filter($pData)){ $tField = '`'.join('`,`', array_keys($pData)).'`'; $tVal = join("','", $pData); //echo $tSql = ($pReplace? "REPLACE": "INSERT") . " INTO `$this->table`($tField) VALUES ('$tVal')";exit(); #Tool_Fnc::writefile('/home/zhangyueru/xx',$tSql); if($this->exec(($pReplace? "REPLACE": "INSERT") . " INTO $this->table($tField) VALUES ('$tVal')")){ return $this->db->lastInsertId(); } } return 0; } /** * 更新记录 **/ public function update($pData, $pTableName, $pId){ # 过滤 if(!$this->_filter($pData)) return false; # 条件 $tOpt = array(); // if(isset($pData[$this->pk])){ // $tOpt = array('where' => "$this->pk='{$pData[$this->pk]}'"); // } // $tOpt = $this->_options($tOpt); # 更新 if($pData && !empty($tOpt['where'])){ foreach($pData as $k1 => $v1){ $tSet[] = "`$k1`='$v1'"; if($k1 == 'CREATED'){ $tSet = "`$k1`='to_date($v1, 'yyyy-mm-dd hh24:mi:ss')'"; } } $tSql = "UPDATE `" . $pTableName . "` SET " . join(',', $tSet) . " WHERE ID = " . $pId; return $this->exec("UPDATE " . $pTableName . " SET " . join(',', $tSet) . " WHERE ID = " . $pId); } return false; } /** * 过滤危险数据 * @param array $pData */ public function _filter(&$pData){ foreach($pData as $k1 => &$v1){ if(empty($this->field[$k1])){ unset($pData[$k1]); continue; } if(is_array($v1)){ $v1 = $v1[0]; }else{ $v1 = strtr($v1, array('\\' => '', "'" => "\'")); } } return $pData? true: false; } public function __destruct(){ if(!empty($this->db)){ oci_close($this->db); } } }