Class cls_mysql{
var $querynum = 0;
var $link;
var $histories;
var $dbhost;
var $dbuser;
var $dbpw;
var $dbcharset;
var $pconnect;
var $tablepre;
var $time;
var $goneaway = 5;
Function Connect ($dbhost, $dbuser, $DBPW, $dbname = ", $dbcharset =", $pconnect = 0, $tablepre = ", $time = 0) {
$this->dbhost = $dbhost;
$this->dbuser = $dbuser;
$this->DBPW = $DBPW;
$this->dbname = $dbname;
$this->dbcharset = $dbcharset;
$this->pconnect = $pconnect;
$this->tablepre = $tablepre;
$this->time = $time;
if ($pconnect) {
if (! $this->link = Mysql_pconnect ($dbhost, $dbuser, $DBPW)) {
$this->halt (' Can not connect to MySQL server ');
}
} else {
if (! $this->link = mysql_connect ($dbhost, $dbuser, $DBPW)) {
$this->halt (' Can not connect to MySQL server ');
}
}
if ($this->version () > ' 4.1 ') {
if ($dbcharset) {
mysql_query ("Set character_set_connection=". $dbcharset. ", character_set_results=". $dbcharset. ", character_set_ Client=binary ", $this->link);
}
if ($this->version () > ' 5.0.1 ') {
mysql_query ("Set sql_mode=", $this->link);
}
}
if ($dbname) {
mysql_select_db ($dbname, $this->link);
}
}
function Fetch_array ($query, $result _type = Mysql_assoc) {
Return mysql_fetch_array ($query, $result _type);
}
function Result_first ($sql) {
$query = $this->query ($sql);
return $this->result ($query, 0);
}
function Fetch_first ($sql) {
$query = $this->query ($sql);
return $this->fetch_array ($query);
}
function Fetch_all ($sql, $id = ") {
$arr = Array ();
$query = $this->query ($sql);
while ($data = $this->fetch_array ($query)) {
$id? $arr [$data [$id]] = $data: $arr [] = $data;
}
return $arr;
}
function cache_gc () {
$this->query ("delete from {$this->tablepre}sqlcaches where expiry< $this->time");
}
function query ($sql, $type = ", $cachetime = False) {
$func = $type = = ' unbuffered ' && @function_exists (' Mysql_unbuffered_query ')? ' Mysql_unbuffered_query ': ' mysql_query ';
if (! ( $query = $func ($sql, $this->link)) && $type! = ' silent ') {
$this->halt (' MySQL query error ', $sql);
}
$this->querynum++;
$this->histories[] = $sql;
return $query;
}
function Affected_rows () {
Return Mysql_affected_rows ($this->link);
}
Function error () {
Return ($this->link) mysql_error ($this->link): Mysql_error ());
}
function errno () {
Return Intval ($this->link) Mysql_errno ($this->link): Mysql_errno ());
}
function result ($query, $row) {
$query = @mysql_result ($query, $row);
return $query;
}
function Num_rows ($query) {
$query = mysql_num_rows ($query);
return $query;
}
function Num_fields ($query) {
Return Mysql_num_fields ($query);
}
function Free_result ($query) {
Return Mysql_free_result ($query);
}
function insert_id () {
return ($id = mysql_insert_id ($this->link)) >= 0? $id: $this->result ($this->query ("Select last_insert_id ()"), 0);
}
function Fetch_row ($query) {
$query = Mysql_fetch_row ($query);
return $query;
}
function Fetch_fields ($query) {
Return Mysql_fetch_field ($query);
}
Function version () {
Return Mysql_get_server_info ($this->link);
}
function Close () {
Return Mysql_close ($this->link);
}
function Halt ($message = ', $sql = ') {
$error = Mysql_error ();
$errorno = Mysql_errno ();
if ($errorno = = 2006 && $this->goneaway--> 0) {
$this->connect ($this->dbhost, $this->dbuser, $this->dbpw, $this->dbname, $this->dbcharset, $this- >pconnect, $this->tablepre, $this->time);
$this->query ($sql);
} else {
$s = 'error:' $error. '
';
$s. = 'errno:'. $errorno. '
';
$s. = 'sql:: '. $sql;
Exit ($s);
}
}
}
http://www.bkjia.com/PHPjc/630849.html www.bkjia.com true http://www.bkjia.com/PHPjc/630849.html techarticle PHP Tutorial MySQL Tutorial database Tutorial Connection Class program code class cls_mysql{var $querynum = 0; var $link; var $histories; var $dbhost; var $dbuser; var $DBPW; var $dbcharset; var $p ...