Blame view

mobile/source/core/db/class.mysql.php 2.67 KB
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;
  	}
  	
  }
  ?>