mysql false query_num MySQL_time_taken function get_real_time list sec

  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
<?
$mysql = false;
$query_num = 0;
$MySQL_time_taken = 0;
function get_real_time() {
list ( $seconds, $microSeconds ) = explode( ' ', microtime() );
return (( float ) $seconds + ( float ) $microSeconds);
}
#ifndef KittenPHP
function display_error($error, $error_num, $query = ''){
if($query) {
// Safify query
$query = preg_replace("/([0-9a-f]){32}/", "********************************", $query); // Hides all hashes
$query_str = "$query";
}
echo '<font size="4">Ошибка сервера, попробуйте обновить страницу позже. <b>'.$error.'</b>--------'.$query.'</font> ';
exit();
}
function new_db_decl(){
global $mysql;
if($mysql) return true;
if(!$mysql = mysql_connect(DB_HOST, DB_USER, DB_PASS)){
die("1");
return false;
}
if(!mysql_select_db(DB_NAME, $mysql)){
die("2");
return false;
}
}
function dbQuery($query = ''){
global $mysql;
if(!$mysql) return false;
if(!($res = mysql_query($query,$mysql))){
display_error(mysql_error($mysql), mysql_errno($mysql), $query);
}
return $res;
}
function dbFetchRow($query_id = null){
return mysql_fetch_array($query_id, MYSQL_ASSOC);
}
function dbInsertedId(){
global $mysql;
return mysql_insert_id($mysql);
}
#endif
new_db_decl();
dbQuery("SET NAMES 'utf8'");
function query($query, $return_id=false){
global $MySQL_time_taken;
$time_before = get_real_time();
if($query_id = dbQuery($query)){
$MySQL_time_taken += get_real_time() - $time_before;
if($return_id){
return dbInsertedId();
}
return $query_id;
}
}
function super_query($query = '', $multi = false, $cache = false){
global $mysql,$query_num, $pmc;
#ifndef KittenPHP
if(!$mysql) return false;
#endif
$query_id = query($query);
$query_num++;
# Получаем кеш
if($cache){
$cache_data = $pmc->get($cache);
}
# Если ввод нескольких массивов
if($multi){
# Если есть кеш то возвращаем
if($cache && !empty($cache_data)){
return $cache_data;
}else{
$data = array();
while ($row = dbFetchRow($query_id))
$data[] = $row;
# Если нужно закешировать ответ то заносим в мемкеш
if($cache){
$pmc->set($cache, $data);
}
return $data;
}
}else return dbFetchRow($query_id);
return false;
}
?>