Вход Регистрация
Файл: system/classes/mysqli.class.php
Строк: 108
<?php
////////////////////////////////////////
//                                    //
//          Core for site             //
//         Ядро для сайта             //
//          Author: UndeX             //
//          Автор: UndeX              //
//       Contacts/Контакты:           //
//  Mail: undex.project@gmail.com     //
//  ICQ: 676768169                    //
//                                    //
////////////////////////////////////////

////////////////////////////////////////
//                                    //
//           For FREE use             //
//   Для бесплатного использования    //
//                                    //
////////////////////////////////////////

class mysql
{
var 
$db_id false;
var 
$query_num 0;
var 
$query_list = array();
var 
$mysql_error '';
var 
$mysql_version '';
var 
$mysql_error_num 0;
var 
$mysql_extend "MySQLi";
var 
$MySQL_time_taken 0;
var 
$query_id false;
 
 
function 
connect($db_user$db_pass$db_name$db_location 'localhost'$show_error=1)
{
$db_location explode(":"$db_location);
 
if (isset(
$db_location[1])) {
 
$this->db_id = @mysqli_connect($db_location[0], $db_user$db_pass$db_name$db_location[1]);
 
} else {
 
$this->db_id = @mysqli_connect($db_location[0], $db_user$db_pass$db_name);
 
}
 
if(!
$this->db_id) {
if(
$show_error == 1) {
$this->display_error(mysqli_connect_error(), '1');
} else {
return 
false;
}

 
$this->mysql_version mysqli_get_server_info($this->db_id);
 
if(!
defined('COLLATE'))

define ("COLLATE""cp1251");
}
 
mysqli_query($this->db_id"SET NAMES '" COLLATE "'");
 
return 
true;
}
 
function 
query($query$show_error=true)
{
$time_before $this->get_real_time();
 
if(!
$this->db_id$this->connect(DBUSERDBPASSDBNAMEDBHOST);
 
if(!(
$this->query_id mysqli_query($this->db_id$query) )) {
 
$this->mysql_error mysqli_error($this->db_id);
$this->mysql_error_num mysqli_errno($this->db_id);
 
if(
$show_error) {
$this->display_error($this->mysql_error$this->mysql_error_num$query);
}
}
 
$this->MySQL_time_taken += $this->get_real_time() - $time_before;
 
$this->query_list[] = array( 'time'  => ($this->get_real_time() - $time_before), 
 
'query' => $query,
 
'num'   => (count($this->query_list) + 1));
 
$this->query_num ++;
 
return 
$this->query_id;
}
 
function 
fetch_assoc($query_id '')
{
if (
$query_id == ''$query_id $this->query_id;
 
return 
mysqli_fetch_assoc($query_id);
}
 
function 
get_affected_rows()
{
return 
mysqli_affected_rows($this->db_id);
}
 
function 
fetch_array($query_id '')
{
if (
$query_id == ''$query_id $this->query_id;
 
return 
mysqli_fetch_array($query_id);
}
 
function 
super_query($query$multi false)
{
 
if(!
$multi) {
 
$this->query($query);
$data $this->fetch_assoc();
$this->free();
return 
$data;
 
} else {
$this->query($query);
 
$rows = array();
while(
$row $this->fetch_assoc()) {
$rows[] = $row;
}
 
$this->free();
 
return 
$rows;
}
}
 
function 
num_rows($query_id '')
{
if (
$query_id == ''$query_id $this->query_id;
 
return 
mysqli_num_rows($query_id);
}
 
function 
insert_id()
{
return 
mysqli_insert_id($this->db_id);
}
 
function 
result($query_id '')
{
if (
$query_id == ''$query_id $this->query_id;
 
return 
mysqli_result($query_id);
}
 
function 
get_result_fields($query_id '') {
 
if (
$query_id == ''$query_id $this->query_id;
 
while (
$field mysqli_fetch_field($query_id))
{
            
$fields[] = $field;
}
 
return 
$fields;
   }
 
function 
real_escape_string$source )
{
if(!
$this->db_id$this->connect(DBUSERDBPASSDBNAMEDBHOST);
 
if (
$this->db_id) return mysqli_real_escape_string ($this->db_id$source);
else return 
addslashes($source);
}
 
function 
free$query_id '' )
{
 
if (
$query_id == ''$query_id $this->query_id;
 
@
mysqli_free_result($query_id);
}
 
function 
close()
{
@
mysqli_close($this->db_id);
}
 
function 
get_real_time()
{
list(
$seconds$microSeconds) = explode(' 'microtime());
return ((float)
$seconds + (float)$microSeconds);
}
 
function 
display_error($error$error_num$query '')
{
if(
$query) {
// Safify query
$query preg_replace("/([0-9a-f]){32}/""********************************"$query); // Hides all hashes
}
 
$query htmlspecialchars($queryENT_QUOTES'ISO-8859-1');
$error htmlspecialchars($errorENT_QUOTES'ISO-8859-1');
 
$trace debug_backtrace();
 
$level 0;
if (
$trace[1]['function'] == "query" $level 1;
if (
$trace[2]['function'] == "multi_query" $level 2;
 
$trace[$level]['file'] = str_replace(""""$trace[$level]['file']);
 
echo 
'
<b>MySQL Error!</b><br/>
<b><b>MySQL error</b> in file: <b>'
.$trace[$level]['file'].'</b> at line <b>'.$trace[$level]['line'].'</b><br/>
<b>Error Number: <b>'
.$error_num.'</b><br/>
<b>The Error returned was:<br /> <b>'
.$error.'</b><br/>
<b>SQL query:</b><br /><br />'
.$query.'<br /><hr />';
 
 
}
 
}
 
 
?>
Онлайн: 0
Реклама