$value2 cosa sarebbe?
se value2 è un array di risposta di sqlite, al posto di foreach hai provato anche ad usare altri sistemi? Non è detto che cambi qualcosa eh... però son solo delle prove

per q2 cosa intendo?

tu hai questo codice:

Codice PHP:
[/ main.php]


[function.
php]
function 
GeneraRisultatoQuerry($query) {
$query=sanitize($query,'PARANOID');

global 
$db_1;

$apri_db "sqlite:$db_1";
$db = new PDO($apri_db);
$result $db->query("$query");
$db NULL;
echo 
"$query - $db_ - 
"
;
return 
$result
}

[/function.
php
Se noti, per ogni "chiamata" della funzione apri una connessione al database... forse e dico forse, l'apertura di tante istanze di connessione impalla tutto. Potresti modificare in questo modo logico:

Controlli di dover fare più di un cambiamento, se devi farne solo uno usi la funzione che hai già. Altrimenti chiami una funzione (la chiamo function GeneraRisultatoQuerry_special($query) dove $query è un array (o vettore))
Codice PHP:
function GeneraRisultatoQuerry_special($query) {
global 
$db_1;
$apri_db "sqlite:$db_1";
$db = new PDO($apri_db);

for (
$i 0$i count($query); $i++) {
 
$query[$i]=sanitize($query,'PARANOID');
 
$result $db->query("$query[$i]");
 
//$db = NULL;
 //echo "$query - $db_ - 
";
 //return 
$result
 }

Non uso sqlite, ho dunque fatto quanto segue:
Messo 1 apertura di database ed abbiamo ora X query.
Ho commentato parte del codice poichè non sò cosa fanno, se chiudono il db, etcetera.