$db?=?New?DB_MySQL;
//?DB?Details:
$db->database?=?'adsystem';
$db->user?=?'sa';
$db->password?=?'sa';
$db->server?=?'localhost';
//?Connect?to?db
$db->connect();
//////////////////////////////////////////////////////////////////////
function?ss($str)?{
????return?mysql_escape_string($str);
}
//?Mysql?Database?Class
class?DB_MySQL?{
??var?$database?=?"";
??var?$link_id??=?0;
??var?$query_id?=?0;
??var?$record???=?array();
??var?$server?=?"";
??var?$user?=?"";
??var?$password?=?"";
??function?connect()?{
????global?$usepconnect;
????//?connect?to?db?server
????if?(?0?==?$this->link_id?)?{
??????if?($this->password=="")?{
????????if?($usepconnect==1)?{
??????????$this->link_id=mysql_pconnect($this->server,$this->user);
????????}?else?{
??????????$this->link_id=mysql_connect($this->server,$this->user);
????????}
??????}?else?{
????????if?($usepconnect==1)?{
??????????$this->link_id=mysql_pconnect($this->server,$this->user,$this->password);
????????}?else?{
??????????$this->link_id=mysql_connect($this->server,$this->user,$this->password);
????????}
??????}
??????if?(!$this->link_id)?{
????????$this->halt("Link-ID?==?false,?connect?failed");
??????}
??????if?($this->database!="")?{
????????if(!mysql_select_db($this->database,?$this->link_id))?{
??????????$this->halt("cannot?use?database?".$this->database);
????????}
??????}
????}
??}
??function?geterrdesc()?{
????$this->error=mysql_error();
????return?$this->error;
??}
??function?geterrno()?{
????$this->errno=mysql_errno();
????return?$this->errno;
??}
??function?select_db($database="")?{
????//?select?database
????if?($database!="")?{
??????$this->database=$database;
????}
????if(!mysql_select_db($this->database,?$this->link_id))?{
??????$this->halt("cannot?use?database?".$this->database);
????}
??}
??function?query($query_string)?{
????global?$query_count,$showqueries,$explain,$querytime;
????//?do?query
????if?($showqueries)?{
??????echo?"Query:?$query_string\n";
??????global?$pagestarttime;
??????$pageendtime=microtime();
??????$starttime=explode("?",$pagestarttime);
??????$endtime=explode("?",$pageendtime);
??????$beforetime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
??????echo?"Time?before:?$beforetime\n";
????}
????$this->query_id?=?mysql_query($query_string,$this->link_id);
????if?(!$this->query_id)?{
??????$this->halt("Invalid?SQL:?".$query_string);
????}
????$query_count++;
????if?($showqueries)?{
??????$pageendtime=microtime();
??????$starttime=explode("?",$pagestarttime);
??????$endtime=explode("?",$pageendtime);
??????$aftertime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
??????$querytime+=$aftertime-$beforetime;
??????echo?"Time?after:??$aftertime\n";
??????if?($explain?and?substr(trim(strtoupper($query_string)),0,6)=="SELECT")?{
????????$explain_id?=?mysql_query("EXPLAIN?$query_string",$this->link_id);
????????echo?"\n";
????????echo?"
????????
????????
??????????table |
??????????type |
??????????possible_keys |
??????????key |
??????????key_len |
??????????ref |
??????????rows |
??????????Extra |
????????
\n";
????????while($array=mysql_fetch_array($explain_id))?{
??????????echo?"
??????????
????????????$array[table] |
????????????$array[type] |
????????????$array[possible_keys] |
????????????$array[key] |
????????????$array[key_len] |
????????????$array[ref] |
????????????$array[rows] |
????????????$array[Extra] |
??????????
\n";
????????}
????????echo?"
\n
\n";
????????echo?"\n"
;
??????}?else?{
????????echo?"\n
\n\n";
??????}
????}
????return?$this->query_id;
??}
??function?fetch_array($query_id=-1,$query_string="")?{
????//?retrieve?row
????if?($query_id!=-1)?{
??????$this->query_id=$query_id;
????}
????if?(?isset($this->query_id)?)?{
??????$this->record?=?mysql_fetch_array($this->query_id);
????}?else?{
??????if?(?!empty($query_string)?)?{
????????$this->halt("Invalid?query?id?(".$this->query_id.")?on?this?query:?$query_string");
??????}?else?{
????????$this->halt("Invalid?query?id?".$this->query_id."?specified");
??????}
????}
????return?$this->record;
??}
??function?free_result($query_id=-1)?{
????//?retrieve?row
????if?($query_id!=-1)?{
??????$this->query_id=$query_id;
????}
????return?@mysql_free_result($this->query_id);
??}
??function?query_first($query_string)?{
????//?does?a?query?and?returns?first?row
????$query_id?=?$this->query($query_string);
????$returnarray=$this->fetch_array($query_id,?$query_string);
????$this->free_result($query_id);
????return?$returnarray;
??}
??function?data_seek($pos,$query_id=-1)?{
????//?goes?to?row?$pos
????if?($query_id!=-1)?{
??????$this->query_id=$query_id;
????}
????return?mysql_data_seek($this->query_id,?$pos);
??}
??function?num_rows($query_id=-1)?{
????//?returns?number?of?rows?in?query
????if?($query_id!=-1)?{
??????$this->query_id=$query_id;
????}
????return?mysql_num_rows($this->query_id);
??}
??function?num_fields($query_id=-1)?{
????//?returns?number?of?fields?in?query
????if?($query_id!=-1)?{
??????$this->query_id=$query_id;
????}
????return?mysql_num_fields($this->query_id);
??}
????function?sql_query($query)?{
????????$result?=?$this->query($query);
????????$return_array?=?array();
????????while?($row?=?$this->fetch_array($result))?{
????????????array_push($return_array,?$row);
????????}
????????$this->free_result($result);
????????return?$return_array;?
????}
????function?halt($msg)?{?die($msg);?}
????function?insert_id()?{?return?mysql_insert_id($this->link_id);?}
????function?close()?{?return?mysql_close();?}
}
?>