"Non è stato settato il database","nome"=>"query","gruppo"=>"INDI")), E_USER_WARNING); return; } if($DB["link"] == "") { if (!$link = @mysql_connect($DB['host'], $DB['username'], $DB['password'])) { $GLOBALS['CONF']['force_no_redirect'] = "SI"; trigger_error(serialize(array("errore"=>"Errore nella connessione a $DB[host]","nome"=>"query","gruppo"=>"INDI")), E_USER_WARNING); return FALSE; } else if (!@mysql_select_db($DB['database'], $link)) { $GLOBALS['CONF']['force_no_redirect'] = "SI"; trigger_error(serialize(array("errore"=>"Errore nella selezione del database $DB[database]","nome"=>"query","gruppo"=>"INDI")), E_USER_WARNING); return FALSE; } else { $DB["link"] = $link; d_info("Collegato al DB: $DB[database]","connect","DATAB"); //caratteri UTF8 if($GLOBALS['CONF']['mcharset'] == "UTF-8") { //mysql_query("SET CHARACTER_SET_RESULTS=utf8",$link); //mysql_query("SET character_set_client=utf8",$link); //mysql_query("SET character_set_connection=utf8",$link); // mysql_query("SET NAMES 'utf8'",$link); mysql_query("SET CHARACTER SET 'utf8'",$link); } } } if($GLOBALS["CONF"]["DEBUG"] == "SI") $db_time = indi_time(); //nocache if($_GET['no_cache'] == 1) { $query = str_replace("SELECT","SELECT SQL_NO_CACHE",$query); } //risultato $result = @mysql_query($query, $DB["link"]); if (!$result) { $err = mysql_errno() . ": " . mysql_error() . "\n$query\n"; d_err($err,"query","DATAB"); //errore /* if($GLOBALS["CONF"]["dove_sono"] == "loc") { $GLOBALS['CONF']['force_no_redirect'] = "SI"; trigger_error(serialize(array("errore"=>$err,"nome"=>"query","gruppo"=>"INDI")), E_USER_WARNING); } */ return FALSE; } else { //calcolo tempo if($GLOBALS["CONF"]["DEBUG"] == "SI") { $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("$query","db:query(QT:$TIME)","DATAB"); } return $result; } return FALSE; } //FUNZIONI DB VERSIONE 2.2 function db_q_indi($query) { return db_q($query,"indi"); } //ritorna una array delle righe function db_crea($database) { global $DB; if (!$link = @mysql_pconnect($DB[host], $DB[username], $DB[password])) { $result = FALSE; d_err("Errore nella connessione a $DB[host]!","pconnect","DATAB"); } $out = mysql_create_db("$database"); return $out; } //ritorna una sola riga || apc function db_qr($query) { global $DB; if($GLOBALS["DATI"]['indi_apc_all_query'] == "SI") { return db_qr_cache($query); } $q = db_q($query); return @mysql_fetch_array($q,MYSQL_ASSOC); return $riga; } function db_qr_cache($query) { global $DB; if($GLOBALS["CONF"]["DEBUG"] == "SI") $db_time = indi_time(); //cache apc if($GLOBALS["DATI"]["indi_apc"] == "SI") { //apc $key = "db_qr_cache:".md5($query); $mk = apc_fetch($key); if ($mk) { if($_GET['indi_apc']) print "k"; if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:OUT:db_qr_cache(QT:$TIME)","DATAB"); } return unserialize($mk); } else { $q = db_q($query); $result = @mysql_fetch_array($q,MYSQL_ASSOC); apc_store($key,serialize($result),$GLOBALS["DATI"]['indi_apc_time']); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:IN:db_qr_cache(QT:$TIME)","DATAB"); } return $result; } } else { $q = db_q($query); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:KO:db_qr_cache(QT:$TIME)","DATAB"); } return @mysql_fetch_array($q,MYSQL_ASSOC); } return $riga; } //ritorna una array delle righe function db_qa($query,$chiave=NULL) { global $DB; if($GLOBALS["DATI"]['indi_apc_all_query'] == "SI") { return db_qa_cache($query,$chiave); } $q = db_q($query); while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $a = $riga[$chiave]; //print "+$a+"; if($chiave != NULL) $array["$a"] = $riga; else $array[] = $riga; } return $array; } //ritorna una array delle righe function db_qa_cache($query,$chiave=NULL) { if($GLOBALS["CONF"]["DEBUG"] == "SI") $db_time = indi_time(); global $DB; if($GLOBALS["DATI"]["indi_apc"] == "SI") { //apc $key = "db_qa_cache:".md5($query.$chiave); $mk = apc_fetch($key); if ($mk) { if($_GET['indi_apc']) print "k"; if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:OUT:$key(QT:$TIME)","DATAB"); } return unserialize($mk); } else { $q = db_q($query); while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $a = $riga[$chiave]; if($chiave != NULL) $array["$a"] = $riga; else $array[] = $riga; } apc_store($key, serialize($array), $GLOBALS["DATI"]['indi_apc_time']); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:IN:$key(QT:$TIME)","DATAB"); } return $array; } } $q = db_q($query); while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $a = $riga[$chiave]; //print "+$a+"; if($chiave) $array["$a"] = $riga; else $array[] = $riga; } if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:KO:db_qa_cache(QT:$TIME)","DATAB"); } return $array; } //ritorna una array delle righe function db_qa_indi($query,$chiave=NULL) { if($GLOBALS["CONF"]["DEBUG"] == "SI") $db_time1 = indi_time(); global $DB; $q = db_q($query,"indi"); while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $a = $riga[$chiave]; //print "+$a+"; if($chiave) $array["$a"] = $riga; else $array[] = $riga; } return $array; } function db_qrs($query,$campo=0) { global $DB; if($GLOBALS["DATI"]['indi_apc_all_query'] == "SI") { return db_qrs_cache($query,$campo); } $q = db_q($query); $riga = @mysql_fetch_array($q); return $riga[$campo]; } function db_qrs_cache($query,$campo=0) { global $DB; if($GLOBALS["CONF"]["DEBUG"] == "SI") $db_time = indi_time(); if($GLOBALS["DATI"]["indi_apc"] == "SI") { //apc $key = "db_qrs_cache:".md5($query.$campo); $mk = apc_fetch($key); if ($mk) { if($_GET['indi_apc']) print "k"; if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:OUT:db_qrs_cache($key, ".$GLOBALS["DATI"]['indi_apc_time'].")(QT:$TIME)","DATAB"); } return $mk; } else { $q = db_q($query); $riga = @mysql_fetch_array($q); apc_store($key, $riga[$campo], $GLOBALS["DATI"]['indi_apc_time']); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:IN:db_qrs_cache($key, ".$GLOBALS["DATI"]['indi_apc_time'].")(QT:$TIME)","DATAB"); } return $riga[$campo]; } } $q = db_q($query); $riga = @mysql_fetch_array($q); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:KO:db_qrs_cache(".$GLOBALS["DATI"]['indi_apc_time'].")(QT:$TIME)","DATAB"); } return $riga[$campo]; } function db_qf($query,$funzione="db_qf_array") { //funzione di base function db_qf_array($V){ return $V; } global $DB; $q = db_q($query); while ($V = @mysql_fetch_array($q,MYSQL_ASSOC)) { $out[] = $funzione($V); } return $out; } //queri con risultati separati da un separatore function db_qsep($query,$campo,$sep="|") { global $DB; $q = db_q($query); while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $a = $riga[$campo]; //print "+$a+"; $out .= $a.$sep; } return $out; } //queri con risultati in un array chiave valore function db_qkv_cache($query,$kk,$vv,$ARR=NULL) { global $DB; if($GLOBALS["CONF"]["DEBUG"] == "SI") $db_time = indi_time(); if($GLOBALS["DATI"]["indi_apc"] == "SI") { //apc $key = "db_qkv_cache:".md5($query.$kk.$vv); $mk = apc_fetch($key); if ($mk) { if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:OUT:db_qkv_cache($key, ".$GLOBALS["DATI"]['indi_apc_time'].")(QT:$TIME)","DATAB"); } return $mk; } else { $q = db_q($query); if(is_array($ARR)) $out = $ARR; while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $k = $riga["$kk"]; $v = $riga["$vv"]; //print "+$a+"; $out[$k] = $v; } apc_store($key,$out, $GLOBALS["DATI"]['indi_apc_time']); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:IN:db_qrs_cache($key, ".$GLOBALS["DATI"]['indi_apc_time'].")(QT:$TIME)","DATAB"); } return $out; } } if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info("","apc:KO:db_qkv_cache(".$GLOBALS["DATI"]['indi_apc_time'].")(QT:$TIME)","DATAB"); } $q = db_q($query); if(is_array($ARR)) $out = $ARR; while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $k = $riga["$kk"]; $v = $riga["$vv"]; //print "+$a+"; $out[$k] = $v; } return $out; } //queri con risultati in un array chiave valore function db_qkv($query,$kk,$vv,$ARR=NULL) { global $DB; if($GLOBALS["DATI"]['indi_apc_all_query'] == "SI") { return db_qkv_cache($query,$kk,$vv,$ARR); } $q = db_q($query); if(is_array($ARR)) $out = $ARR; while ($riga = @mysql_fetch_array($q,MYSQL_ASSOC)) { $k = $riga["$kk"]; $v = $riga["$vv"]; //print "+$a+"; $out[$k] = $v; } return $out; } function db_connect() { global $DB; if (!$DB[link] = @mysql_pconnect($DB[host], $DB[username], $DB[password])) { $result = 0; print ("
Errore nella connessione a $db_host!"); } else { if (!@mysql_select_db($DB[database], $DB[link])) { $result = 0; print ("
Errore nella selezione del
"); } } } function db_connect2() { global $db, $var_Global; $db = mysql_connect($var_Global["db_host"], $var_Global["db_username"], $var_Global["db_password"]); if (!$db) die("Impossibile collegarsi al database\n"); if (!mysql_select_db($var_Global["db_nome"], $db)) die("Impossibile selezionare il database\n"); } function db_query($sql,$msg="") { global $DB; $res = @mysql_query($sql, $DB[link]); if(!$res) { print "
ERRORE: ".mysql_error()." query SQL: [ $sql ]"; if($msg){ echo " - $msg
"; die(); } } return $res; } function db_lastid($tabella,$campo) { global $DB; $res=db_query("select $campo from $tabella order by $campo desc limit 1","Impossibile selezionare l'ultimo id"); list($lastid) = mysql_fetch_row($res); return $lastid + 1; } function db_appendi_condizioni_sql($sql, $condizioni) { //se esiste, ciclo l'array delle condizioni e l'appendo alla query if(is_array($condizioni)) { $tot = sizeof($condizioni); for ($i=0; $i<$tot; $i++) { if ($i==0) { $sql .= "where "; } $sql .= $condizioni[$i]; if ($i<($tot-1)) { $sql .= " and "; } } } return $sql; } function db_cerca_parola($parola) { if(trim($parola) != "") return "'%$parola%'"; } //crea la WHERE per cercare una parola composta //da finire gli altri tipi //ricordarsi se gpc di fare l' escape e togliere gli slash function db_cerca_parola_like($parola,$campo,$verso="ALL") { $parola = trim(mysql_real_escape_string($parola)); if($parola == "") return NULL; $query_raw_arr = explode(" ", $parola); $q .= "("; for ($i=0; $i 0) $q .= " OR "; if($verso == "ALL") $q .= "$campo LIKE '%".$query_raw_arr[$i]."%'"; elseif($verso == "SX") $q .= "$campo LIKE '%".$query_raw_arr[$i]."%'"; elseif($verso == "DX") $q .= "$campo LIKE '%".$query_raw_arr[$i]."%'"; } $q .= ")"; return $q; } ?>