a1684257
Administrator
first commit
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
<?php
if ( defined("mysql_class") ){
return FALSE;
}
define("mysql_class", 1);
class database
{
private $db_connect;
public $prefix;
private $debug = false;
// get
public function prefix($table){
return $this -> prefix.'_'.$table;
}
// connect
public function connect($s, $u, $p, $per=0){
$this -> db_connect=($per==1)?@mysql_pconnect($s,$u,$p):@mysql_connect($s,$u,$p);
if ( empty($this -> db_connect) ){
sys_error('500',E_DATABASE_CONNECT);
return FALSE;
}
return TRUE;
}
public function select_db($db){
if ( mysql_select_db($db, $this -> db_connect) ){
return TRUE;
}
sys_error('500',E_DATABASE_SELECT);
}
public function close(){
if( $this->query_result ){
@mysql_free_result($this -> query_result);
}
return mysql_close($this -> db_connect);
}
// sql
public function query($sql,$error=false){
// включаем счётчик времени
if ( MAIN_DEBUG_MODE==1 ){
$b_time = microtime();
}
if ( $this -> debug ){die($sql);};
$res = mysql_query($sql);
// невыполнение запроса это критическая ошибка в работе программы
if ( !$res ){
// ошибка генерируется
sys_error('500', sprintf(E_EXECUTE_QUERY,sys_short_text($sql,50,50),mysql_error()) );
}elseif( $res ){
// отладка запроса
if ( MAIN_DEBUG_MODE==1 ){
sys_error(SQL_MSG,array('sql'=>$sql,'time'=>sys_timer($b_time) ) );
}
// запрос выполняется больше 1 секунды, то бьём тревогу
//if ( $time>1 ){
// $this -> make_error(ERROR_MESSAGE, sprintf(M_SLOW_EXECUTE_QUERY,$sql) );
//}
}
return $res;
}
public function num_rows($resource){
return @mysql_num_rows($resource);
}
public function fetch_array($resource=''){
return @mysql_fetch_array($resource);
}
public function fetch_object($resource=''){
return @mysql_fetch_object($resource);
}
public function fetch_assoc($resource = 0){
return @mysql_fetch_assoc($resource);
}
public function insert_id(){
return @mysql_insert_id($this->db_connect);
}
// set
public function set_prefix($prefix){
$this -> prefix = $prefix;
}
public function set_debug($flag){
$this -> debug=$flag;
}
public function importFile($file){
$file_content = file($file);
$query = "";
foreach($file_content as $sql_line){
if(trim($sql_line) != "" && strpos($sql_line, "--") === false){
$query .= $sql_line;
if (substr(rtrim($query), -1) == ';'){
$query = str_replace('{prefix}',$this -> prefix,$query);
$this -> query($query);
$query = "";
}
}
}
return true;
}
}
?>
|