Ciao a tutti, vorrei sapere se c'è in PHP il modo di attivare e disattivare un lock sul database.
Quello che mi serve è fare due query in modo atomico in modo che nessun altro utente possa leggere o scrivere nel database durante l'esecuzione di queste due.
Ad esempio se voglio fare un contatore del tipo:
mi servirebbe il codice per le due funzioni ”lock” e "unlock”, sempre che esista, e in tal caso come si potrebbe aggirare l'ostacolo?
Grazie per ogni aiuto.
Quello che mi serve è fare due query in modo atomico in modo che nessun altro utente possa leggere o scrivere nel database durante l'esecuzione di queste due.
Ad esempio se voglio fare un contatore del tipo:
PHP:
lock($database); //lock del database
$query = "SELECT counter FROM contatore";
$query = mysql_query($query)
or die("Query non eseguita: " . mysql_error());
$num = mysql_fetch_array($query, MYSQL_NUM);
$num[0]++;
$query = "UPDATE contatore SET counter=$num[0] WHERE id_contatore=$id";
$query = mysql_query($query)
or die("Query non eseguita: " . mysql_error());
unlock($database); //rilascio del lock
mi servirebbe il codice per le due funzioni ”lock” e "unlock”, sempre che esista, e in tal caso come si potrebbe aggirare l'ostacolo?
Grazie per ogni aiuto.