download this file: class.mysql.dbs.php view text/plain: class.mysql.dbs.php file encoding: UTF-8 [goback]
<?php
##
## this file name is 'class.mysql.dbs.php'
##
## mysql object
##
## [author]
## - Chilbong Kim<san2(at)linuxchannel.net>
##
## [changes]
## - 2005.03.09 : fixed extra
## - 2004.07.07 : add multi-object
## - 2003.07.19 : add get_count()
## - 2003.07.11 : check is_array()
## - 2003.06.11 : rename 'dbs' to 'mysql'
## - 2003.03.05 : new build
##
## [references]
##
## [example]
## require_once 'class.mysql.dbs.php';
## $mysql = new mysql; // none debug mode
## $mysql->connect('localhost','user','passwd');
## $mysql->select_db('dbname');
## $result = $mysql->query('....');
## ...
## $mysql->close();
##
class mysql
{
var $debug = FALSE; // boolean, 1(true), 0(false), debug mode
var $link; // resource link_identifier
var $host;
var $user;
var $dbname = ''; // string, selected database name
## set debug mode
##
function &mysql($debug=0)
{
$this->debug = $debug;
}
## mysql connect
##
## return :
## $resource resource id
##
function &connect($host, $user, $passwd, $dbname='')
{
define('__SQLSTART__',microtime());
$this->host = $host;
$this->user = $user;
$this->link = @mysql_connect($host,$user,$passwd);
$this->error(mysql_errno(),mysql_error(),'connect()');
if($dbname) $this->select_db($dbname);
return $this->link;
}
## mysql persistent connection to MySQL server
##
function &pconnect($host, $user, $passwd, $dbname='')
{
define('__SQLSTART__',microtime());
$this->host = $host;
$this->user = $user;
$this->link = @mysql_pconnect($host,$user,$passwd);
$this->error(mysql_errno(),mysql_error(),'pconnect()');
if($dbname) $this->select_db($dbname);
return $this->link;
}
## mysql close
##
function &close($link='')
{
$link = $link ? $link : $this->link;
$result = @mysql_close($link);
$this->error(mysql_errno(),mysql_error(),'close()');
define('__SQLEND__',microtime());
return $result; // boolean
}
## mysql result
##
function &result($result, $row, $field)
{
$mixed = @mysql_result($result,$row,$field);
$this->error(mysql_errno(),mysql_error(),'result()');
return $mixed;
}
## mysql select db
##
function &select_db($dbname)
{
$this->dbname = $dbname;
$result = @mysql_select_db($this->dbname,$this->link);
$this->error(mysql_errno(),mysql_error(),'select_db()');
return $result; // boolean
}
## mysql query
##
function &query($sql)
{
$result = @mysql_query($sql,$this->link);
$this->error(mysql_errno(),mysql_error(),"query($sql)");
return $result;
}
## mysql query
##
function &db_query($dbname, $sql)
{
$result = @mysql_db_query($dbname,$sql,$this->link);
$this->error(mysql_errno(),mysql_error(),"db_query($sql)");
return $result;
}
## mysql free result
##
function &free_result($result)
{
$result = @mysql_free_result($result);
$this->error(mysql_errno(),mysql_error(),'free_result()');
return $result;
}
## alias
##
function &freeresult($result)
{
return $this->free_result($result);
}
## mysql fetch array
##
function &fetch_array($result)
{
$array = @mysql_fetch_array($result);
$this->error(mysql_errno(),mysql_error(),'fetch_array()');
return $array;
}
## mysql fetch row
##
function &fetch_row($result)
{
$array = @mysql_fetch_row($result);
$this->error(mysql_errno(),mysql_error(),'fetch_row()');
return $array;
}
## mysql fetch assoc
##
function &fetch_assoc($result)
{
$array = @mysql_fetch_assoc($result);
$this->error(mysql_errno(),mysql_error(),'fetch_assoc()');
return $array;
}
## mysql fetch object
##
function &fetch_object($result)
{
$object = @mysql_fetch_object($result);
$this->error(mysql_errno(),mysql_error(),'fetch_object()');
return $object;
}
## mysql list dbs
##
function &list_dbs($link='')
{
$result = @mysql_list_dbs($link ? $link : $this->link);
$this->error(mysql_errno(),mysql_error(),'list_dbs()');
return $result;
}
## mysql data seek
##
function &data_seek($result, $number)
{
$boolean = @mysql_data_seek($result,$number);
$this->error(mysql_errno(),mysql_error(),'data_seek()');
return $boolean;
}
## mysql list tables
##
function &list_tables($dbname='')
{
$result = @mysql_list_tables($dbname ? $dbname : $this->dbname,$this->link);
$this->error(mysql_errno(),mysql_error(),'list_tables()');
return $result;
}
## mysql get list tables
##
function &get_list_tables($dbname='')
{
$result = $this->list_tables($dbname);
if($result)
{
while($table = $this->fetch_row($result))
{ $tables[] = $table[0]; }
$this->free_result($result);
}
return $tables; // array
}
## mysql check table exist
##
function &table_exists($table, $dbname='')
{
$tables = $this->get_list_tables($dbname);
if($tables && is_array($tables)) $check = @in_array($table,$tables);
unset($tables);
return (boolean)$check; // boolean
}
## mysql num rows
##
function &num_rows($result)
{
$rows = @mysql_num_rows($result) + 0;
$this->error(mysql_errno(),mysql_error(),'num_rows()');
return $rows; // integer
}
## get count of rows
##
function &get_count($table, $where='')
{
if($where) $sql = ' WHERE '. preg_replace('/^\s*WHERE\s*/i','',$where);
$sql = 'SELECT COUNT(*) FROM '.$table.$sql;
$result = $this->query($sql);
$rows = $this->result($result,0,0) + 0;
$this->free_result($result);
return $rows; // integer
}
## alias
##
function &get_rows($table, $where='')
{
return $this->get_count($table,$where);
}
## mysql error report
##
function &error($errno, $error, $func)
{
if($this->debug && $errno)
{ echo 'ERRNO('.$errno .') : '.$error.' : '.$func.' in '.__FILE__."<BR>\n"; }
}
} // end of class
?>