Mysql database access class

  • 2020-05-07 20:31:59
  • OfStack

/**
* @Purpose: Mysql database access class
* @Package:
* @Author: lisen@sellingclub.cn
* @Modifications:
* @See:
* @Time: 2008.10.10
*/
class DB_MYSQL
{
//============================================================
private $Host = 'localhost';
private $Database = 'db_name';
private $User = 'user';
private $Password = 'password';
//============================================================
private $Link_Id = 0; // database connection
private $Query_Id = 0; // query results
private $Row_Result = array (); // an array of result sets
private $Field_Result = array (); // an array of result set fields
private $Affected_Rows; // the number of rows affected
private $Rows; // number of rows recorded in the result set
private $Fields; // the number of fields in the result set
private $Row_Postion = 0; // record pointer position index
public $Insert_Id = 0;
//************************************************************
/**** * constructor ****/
function __construct()
{
$this- > connect();
}
/**** * destructor ****/
function __destruct()
{
@mysql_free_result($this- > Query_Id);
mysql_close($this- > Link_Id);
}
Connect to server, select database ****/
function connect($Database = '',$Host = '',$User = '',$Password = '')
{
$Database = $Database == '' ? $this- > Database : $Database;
$Host = $Host == '' ? $this- > Host : $Host;
$User = $User == '' ? $this- > User : $User;
$Password = $Password == '' ? $this- > Password : $Password;
//-----------------------------------------------------------//
if(0 == $this- > Link_Id)
{
$this- > Link_Id = @mysql_pconnect($Host,$User,$Password);
if(!$this- > Link_Id)
{
$this- > halt(' connection to database server failed! ');
}
if(!mysql_select_db($this- > Database,$this- > Link_Id))
{
$this- > halt(' cannot open specified database: '.$this- > Database);
}
}
return $this- > Link_Id;
}
**** ** free memory ****/
function free()
{
if(@mysql_free_result($this- > Query_Id))
{
unset($this- > Row_Result);
}
$this- > Query_Id = 0;
}
Execute query ****/
function query($Query_String)
{
// frees the memory of the last query
if($this- > Query_Id)
{
$this- > free();
}
if(0 == $this- > Link_Id)
{
$this- > connect();
}
// set the Chinese character set
@mysql_query('set names gb2312');
$this- > Query_Id = mysql_query($Query_String,$this- > Link_Id);
$this- > Insert_Id = mysql_insert_id();
if(!$this- > Query_Id)
{
$this- > halt('SQL query error: '.$Query_String);
}
@mysql_query('set names gb2312');
return $this- > Query_Id;
}
/**** * points the result set pointer to the specified row ****/
function seek($pos)
{
if(@mysql_data_seek($this- > Query_Id,$pos))
{
$this- > Row_Position = $pos;
return true;
}
else
{
$this- > halt(' error locating result set! ');
return false;
}
}
/**** returns an array of result sets ****/
function get_rows_array()
{
$this- > get_rows();
for($i = 0; $i < $this- > Rows; $i++)
{
if(!mysql_data_seek($this- > Query_Id,$i))
{
$this- > halt('mysql_data_seek ') query error! ');
}
$this- > Row_Result[$i] = mysql_fetch_array($this- > Query_Id);
}
return $this- > Row_Result;
}
/**** returns an array of result set fields ****/
function get_fields_array()
{
$this- > get_fields();
for($i = 0; $i < $this- > Fields; $i++)
{
$obj = mysql_fetch_field($this- > Query_Id,$i);
$this- > Field_Result[$i] = $obj- > name;
}
return $this- > Field_Result;
}
/**** returns the number of affected records ****/
function get_affected_rows()
{
$this- > Affected_Rows = mysql_affected_rows($this- > Link_Id);
return $this- > Affected_Rows;
}
/**** returns the number of records in the result set ****/
function get_rows()
{
$this- > Rows = mysql_num_rows($this- > Query_Id);
return $this- > Rows;
}
/**** returns the number of fields in the result set ****/
function get_fields()
{
$this- > Fields = mysql_num_fields($this- > Query_Id);
return $this- > Fields;
}
/**** * executes sql and returns an array of the records in line 1 of the query result ****/
function fetch_one_array($sql)
{ @mysql_query('set names gb2312');
$this- > query($sql);
return mysql_fetch_array($this- > Query_Id);
}
/**** * print error message ****/
function halt($msg)
{
$this- > Error = mysql_error();
printf(" < font style=' font-family :Arial, song style; font - size: 12 px; ' > < b > Database error: < /b > %s \n",$msg);
printf("MySQL ") returns an error message: < /b > %s \n",$this- > Error);
printf(" error page: < font style='color:#0000EE;text-decoration:underline' > %s < /font > \n",$_SERVER['PHP_SELF']);
printf(" please submit the error message to the system administrator or web programmer! \ n ");
die(' < b > < font color=red > The script to terminate < /font > < /b > < /font > ');
}
}

Related articles: