Non credo che ci sia un metodo più semplice di quello che sto per proporti, quindi mi dispiace ma ora sarai costretto ad aprire bene le orecchie e ascoltarmi, sperando che funzioni. Praticamente puoi controllare se, dopo una query, viene restituito quell'output. In questa maniera l'inserimento avverrà (mi correggo, tenterà di avvenire) ugualmente, però almeno i dati ti verranno inviati via e-mail. Fai una funzione del genere:
Codice PHP:
<?php
function sql_query($sql)
{
ob_start();
$query = mysql_query($sql);
$contents = ob_get_contents();
ob_end_clean();
if($contents == '')
return $query;
mail('tuamail@email.it', 'Errore SQL', "Errore durante l'esecuzione della query {$sql}: ". mysql_error());
die('Database temporaneamente non disponibile.');
}
?>
Modificala a tuo piacimento e soprattutto modifica l'indirizzo a cui inviare l'email in caso di errore. Ogni volta che devi eseguire una query SQL usa sql_query() e non mysql_query(). In ogni caso, in caso di successo, si comporterà come la funzione originale restituendo l'identificatore della query. Comunque restituirà errore e ti manderà i dati anche in caso di errore di MySQL. Se vuoi che lo faccia solo in caso di soglia superata fammi sapere.