persistency = $persistency; $this->user = $sqluser; $this->password = $sqlpassword; $this->server = $sqlserver . ((!empty($sqlport)) ? sprintf(':%d',$sqlport) : NULL); $this->dbname = $database; $this->db_connect_id = $this->persistency ? @mysql_pconnect($this->server,$this->user,$this->password) : @mysql_connect($this->server,$this->user,$this->password); if ( $this->db_connect_id ) { if ( !empty($database) ) { $this->dbname = $database; $dbselect = mysql_select_db($this->dbname); if ( !$dbselect ) { mysql_close($this->db_connect_id); $this->db_connect_id = $dbselect; } mysql_query("SET NAMES utf8;"); } } return ( $this->db_connect_id ? $this->db_connect_id : FALSE ); } function sql_close() { if ( $this->db_connect_id ) { if ( $this->in_transaction ) { mysql_query("COMMIT",$this->db_connect_id); } $result = mysql_close($this->db_connect_id); } return ( $result ? $result : FALSE ); } function sql_query($query=NULL,$transaction=FALSE) { unset($this->query_result); if ( !empty($query) ) { if ( $transaction == BEGIN_TRANSACTION && !($this->in_transaction) ) { $result = mysql_query("BEGIN",$this->db_connect_id); if ( !$result ) { return ( FALSE ); } $this->in_transaction = TRUE; } $this->query_result = mysql_query($query,$this->db_connect_id); } else { if ( $transaction == END_TRANSACTION && $this->in_transaction ) { $result = mysql_query("COMMIT",$this->db_connect_id); } } if ( $this->query_result ) { unset($this->row[$this->query_result]); unset($this->rowset[$this->query_result]); if ( $transaction == END_TRANSACTION && $this->in_transaction ) { $this->in_transaction = FALSE; if ( !mysql_query("COMMIT",$this->db_connect_id) ) { mysql_query("ROLLBACK",$this->db_connect_id); return ( FALSE ); } } $this->num_queries++; return ( $this->query_result ); } else { if ( $this->in_transaction ) { mysql_query("ROLLBACK",$this->db_connect_id); $this->in_transaction = FALSE; } return ( FALSE ); } } function sql_numrows($query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ? mysql_num_rows($query_id) : FALSE ); } function sql_assoc($query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ? mysql_fetch_assoc($query_id) : FALSE ); } function sql_affectedrows() { return ( $this->db_connect_id ? mysql_affected_rows($this->db_connect_id) : FALSE ); } function sql_numfields($query_id = 0) { if ( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ? mysql_num_fields($query_id) : FALSE ); } function sql_fieldname($offset,$query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ? mysql_field_name($query_id, $offset) : FALSE ); } function sql_fieldtype($offset,$query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ? mysql_field_type($query_id,$offset) : FALSE ); } function sql_fetchobj($query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } if ( $query_id ) { $this->row[$query_id] = mysql_fetch_object($query_id); return ( $this->row[$query_id] ); } else { return (FALSE); } } function sql_fetchrow($query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } if ( $query_id ) { $this->row[$query_id] = mysql_fetch_array($query_id,MYSQL_ASSOC); return ( $this->row[$query_id] ); } else { return (FALSE); } } function sql_fetchrowset($query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } if ( $query_id ) { unset($this->rowset[$query_id]); unset($this->row[$query_id]); while($this->rowset[$query_id] = mysql_fetch_array($query_id,MYSQL_ASSOC)) { $result[] = $this->rowset[$query_id]; } return ( $result ); } else { return (FALSE); } } function sql_fetchfield($field,$rownum=-1,$query_id=0) { if ( !($query_id) ) { $query_id = $this->query_result; } if ( $query_id ) { if ( $rownum > -1 ) { $result = mysql_result($query_id,$rownum,$field); } else { if ( empty($this->row[$query_id]) && empty($this->rowset[$query_id]) ) { if ( $this->sql_fetchrow() ) { $result = $this->row[$query_id][$field]; } } else { if ( $this->rowset[$query_id] ) { $result = $this->rowset[$query_id][$field]; } else if ( $this->row[$query_id] ) { $result = $this->row[$query_id][$field]; } } } return ( $result ); } else { return ( FALSE ); } } function sql_rowseek($rownum,$query_id=0) { if ( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ? mysql_data_seek($query_id,$rownum) : FALSE ); } function sql_nextid() { return ( $this->db_connect_id ? mysql_insert_id($this->db_connect_id) : FALSE ); } function sql_freeresult($query_id=0) { if ( !($query_id) ) { $query_id = $this->query_result; } if ( $query_id ) { unset($this->row[$query_id]); unset($this->rowset[$query_id]); mysql_free_result($query_id); return ( TRUE ); } else { return ( FALSE ); } } function sql_num_queries() { return ( $this->num_queries ); } function sql_error() { $result['message'] = mysql_error($this->db_connect_id); $result['code'] = mysql_errno($this->db_connect_id); return ( $result ); } } } ?>