conn[0] = new mysqli($host, $user, $pwd, $db); $this->conn[1] = $db; if (mysqli_connect_errno()) { errorlog(mysqli_connect_error(), mysqli_connect_errno()); //exit(); }// return $conn; } function errorlog($errmsg, $errno) { //echo "ERROR:" . $errno . ":" . $errmsg; $fp = fopen("/gfs-data/db_" . date("Ymd") . ".txt", "a"); $msg = $_SERVER["HTTP_HOST"] . "|" . date("YmdHis") . "|" . $errno . "|" . $errmsg . "|" . $sql . "\n"; $ret = fwrite($fp, $msg, strlen($msg)); fclose($fp); } function myfree() { $this->conn[0]->close(); unset($this->conn); unset($this->lasterrno); unset($this->lasterrmsg); } function strhex($string) { $hexstr = unpack('H*', $string); return array_shift($hexstr); } function hexstr($hexstr) { $hexstr = str_replace(' ', '', $hexstr); $retstr = pack('H*', $hexstr); return $retstr; } } class query { var $rs; var $row; var $rowcount; var $insertid; var $affectedcount; var $errno; var $errmsg; var $hash; var $rowno; var $source; function myquery($sql, $conn, $ttl = 120) { $cache = 0; $this->source = 0; $sql = trim($sql); // echo "
SQL:" . $sql; $this->hash = md5($conn[1] . $sql); $this->rowno = 0; //echo "
" . $sql; $hash = md5($conn[1] . $sql); if(strtolower(substr($sql, 0, 6)) == "select" && $ttl > 0) { //echo "1
"; if(is_array(getMem("sql_" . $hash))) { //echo "2
"; $daterange = date("YmdHis", mktime(date("H"), date("i"), date("s")-$ttl, date("m"), date("d"), date("Y"))); if(getMem("ttl_" . $hash) > $daterange) { // echo "3
"; $cache = 1; } } } if($cache == 0) { $this->source = 0; $this->rs = $conn[0]->query($sql); if (!$this->rs) { $this->errno = mysqli_errno($conn[0]); $this->errmsg = mysqli_error($conn[0]); //echo $this->errmsg; $this->errorlog(mysqli_error($conn[0]), mysqli_errno($conn[0]), $sql); //exit(); } else { //if(strtolower(substr(trim($sql), 0, 6)) == "select") $this->errno = 0; $this->errmsg = ""; $this->rowcount = $this->rs->num_rows; //else // $this->rowcount = 0; $this->insertid = $conn[0]->insert_id; $this->affectedcount = $conn[0]->affected_rows; //echo "6
" . $sql; if(strtolower(substr($sql, 0, 6)) == "select") { //$memdata[] = $this->errno . "|" . $this->errmsg . "|" . $this->rowcount . "|" . $this->insertid . "|" . $this->affectedcount; //echo "Cnt:" . $this->rowcount . "
"; if($this->rowcount > 0) { while($this->row = $this->rs->fetch_assoc()) { /*$count = count($this->row); $datastr = array(); for($ctr=0; $ctr < $count; $ctr++) $datastr[$ctr] = $this->row[$ctr]; $memdata[] = $datastr;*/ $memdata[] = $this->row; } } else $memdata[] = " "; //echo "DATA:"; //print_r($memdata); //echo "RS:" . $this->rs . "

"; //setMem("sql_" . $hash, print_r($this->rs->fetch_array())); setMem("sql_" . $hash, $memdata); setMem("ttl_" . $hash, date("YmdHis")); setMem("sqlvar_" . $hash, $this->errno . "|" . $this->errmsg . "|" . $this->rowcount . "|" . $this->insertid . "|" . $this->affectedcount); unset($memdata); } } } else { //echo "5
"; $this->source = 1; $data = explode("|", getMem("sqlvar_" . $this->hash)); $this->errno = $data[0]; $this->errmsg = $data[1]; $this->rowcount = $data[2]; $this->einsertid = $data[3]; $this->affectedcount = $data[4]; unset($data); //$data = getMem("sql_" . $this->hash); //$this->row = $data[$this->rowno]; //$this->rowno++; //unset($data); } //echo "
Source:" . $this->source; //echo "
SQL:" . $sql; //echo "
ROW:" . $this->rowno . "
"; } function myfetch() { //echo "H:" . $this->hash; // echo "6
"; if($this->rowno < $this->rowcount) { $data = getMem("sql_" . $this->hash); $this->row = $data[$this->rowno]; //print_r($this->row); $this->rowno++; unset($data); return 1; } else { //echo "
EOF"; return 0; } /*if($this->row = $this->rs->fetch_array()) { return 1; } else { return 0; }*/ } function myfree() { //$this->rs->free(); unset($this->rs); unset($this->row); unset($this->rowcount); unset($this->affectedcount); } function errorlog($errmsg, $errno, $sql) { //echo "ERROR:" . $errno . ":" . $errmsg; $fp = fopen("/gfs-data/db_" . date("Ymd") . ".txt", "a"); $msg = $_SERVER["HTTP_HOST"] . "|" . date("YmdHis") . "|" . $errno . "|" . $errmsg . "|" . $sql . "\n"; $ret = fwrite($fp, $msg, strlen($msg)); fclose($fp); } } /*function api_reader($logreaddocid,$logreadclusterid,$logreadflag,$logreaduserid){ $m_mysql= new db(); $m_mysql->myconnect("social"); switch ($logreadflag){ case 1: if ($logreadflag=="listen"){ $logreadurl="/active18/readnow/storypage.php?docid=".$logreaddocid."&flag=listen"; }else if($logreadclusterid!=''){ $logreadurl="/active18/readnow/storypage.php?docid=".$logreaddocid."&clustid=".$logreadclusterid; } break; case 2: $loglistenurl="/active18/readnow/myfeedstorydetail.php?storyid=".$logreaddocid; break; } $m_sql_select=new query(); $sql_select="select urlid from readurl where url='$logreadurl'"; $m_sql_select->myquery($sql_select, $m_mysql->conn); $m_sql_select->myfetch(); $logreadurlid=$m_sql_select->row['urlid']; $logreaduserdb=substr($logreaduserid,-1); $logreadenddate=date('Ymd'); $m_sql=new query(); $sql ="insert into readlogs_".$logreaduserdb." values('','$logreaduserid','$logreadurlid','$logreadenddate','$logreadcategoryid')"; $m_sql->myquery($sql, $m_mysql->conn); //echo "

Return data=".$m_sql->insertid; $m_sql->myfree(); $m_mysql->myfree(); }*/ ?>