Posto qui anche se è un argomento piuttosto trasversale penso sia principalmente materiale PHP.
Allora dato uno script PHP (tipo questo, metto le parti principali)
codice:
<?php
...
$db = mysql_connect(MYSQL_HOSTNAME, MYSQL_USER, MYSQL_PASSWORD) or
die...
mysql_select_db(MYSQL_DATABASE, $db) or die(mysql_error($db));
$return_arr=array();
$nome=$_GET['q'];
$sql='select id,luogo,ditta from test where (ditta like "%'.mysql_real_escape_string($nome).'%") order by ser desc limit 10';
$fetch=mysql_query($sql);
while($row=mysql_fetch_array($fetch, MYSQL_ASSOC)){
array_push($return_arr,$row['id'].' '.$row['ditta'].' '.$row['luogo']);
}
mysql_close($conn);
echo json_encode($return_arr);
?>
che viene chiamato più volte da un javascript per fare tante belle cose (popolare via ajax una listbox di ricerca parziale) c'è quel
mysql_close che mi lascia un pochino perplesso.
E' bene che ci sia, oppure no?
Questo script viene chiamato parecchie volte di seguito, mentre l'utente scrive sulla tastiera, mi chiedo quindi se
1) la connessione va chiusa
2) esiste un modo per definire una connessione "globale", ovvero che NON debba essere aperta tutte le volte (...mysql_connect...select_db)
3) se i punti 1 e 2 hanno un senso, ovvero - visto che sono eseguiti dal server e non dal client-telefono - se alla fin fine fanno risparmiare poco o niente. Anche se il server è in effetti pessimo (un atom)... val la pena di migliorare questo "apri-e-chiudi" , oppure no?