Вход Регистрация
Файл: vzabave/sys/db_class.php
Строк: 170
<?php


// Класс для работы с бд

class sql_db
{

var 
$db_connect_id;
var 
$query_result;
var 
$row = array();
var 
$rowset = array();
var 
$num_queries 0;
var 
$in_transaction 0;
// Подключение
function sql_db($sqlserver$sqluser$sqlpassword$database$persistency true)
{
$this->persistency $persistency;
$this->user $sqluser;
$this->password $sqlpassword;
$this->server $sqlserver;
$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( 
$database != "" )
{
$this->dbname $database;
$dbselect mysql_select_db($this->dbname);

if( !
$dbselect )
{
mysql_close($this->db_connect_id);
$this->db_connect_id $dbselect;
}
}

return 
$this->db_connect_id;
}
else
{
return 
false;
}
}


// Закрытие подключения
function sql_close()
{
if( 
$this->db_connect_id )
{
if( 
$this->in_transaction )
{
mysql_query("COMMIT"$this->db_connect_id);
}

return 
mysql_close($this->db_connect_id);
}
else
{
return 
false;
}
}


// query
function sql_query($query ""$transaction FALSE)
{

unset(
$this->query_result);

if( 
$query != "" )
{
$this->num_queries++;
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;
}
}

return 
$this->query_result;
}
else
{
if( 
$this->in_transaction )
{
mysql_query("ROLLBACK"$this->db_connect_id);
$this->in_transaction FALSE;
}
return 
false;
}
}


// mysql_num_rows
function sql_numrows($query_id 0)
{
if( !
$query_id )
{
$query_id $this->query_result;
}

return ( 
$query_id ) ? mysql_num_rows($query_id) : false;
}
// mysql_affected_rows
function sql_affectedrows()
{
return ( 
$this->db_connect_id ) ? mysql_affected_rows($this->db_connect_id) : false;
}
// mysql_num_fields
function sql_numfields($query_id 0)
{
if( !
$query_id )
{
$query_id $this->query_result;
}

return ( 
$query_id ) ? mysql_num_fields($query_id) : false;
}
// mysql_field_name
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;
}
// mysql_field_type
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;
}
// sql_fetchrow
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_idMYSQL_ASSOC);
return 
$this->row[$query_id];
}
else
{
return 
false;
}
}
// sql_fetchrowset
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_idMYSQL_ASSOC))
{
$result[] = $this->rowset[$query_id];
}

return 
$result;
}
else
{
return 
false;
}
}


// mysql_result
function sql_fetchfield($field$rownum = -1)
{


if( 
$rownum > -)
{
$result mysql_result($field$rownum);
}
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][0][$field];
}
else if( 
$this->row[$query_id] )
{
$result $this->row[$query_id][$field];
}
}
}

return 
$result;

}
// mysql_data_seek
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;
}
// mysql_insert_id
function sql_nextid()
{
return ( 
$this->db_connect_id ) ? mysql_insert_id($this->db_connect_id) : false;
}
// mysql_query
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;
}
}
// mysql_error и mysql_errno
function sql_error()
{
$result['message'] = mysql_error($this->db_connect_id);
$result['code'] = mysql_errno($this->db_connect_id);

return 
$result;
}

}



?>
Онлайн: 0
Реклама