succede da qualche giorno, senza che io abbia toccato nulla, che lo script che uso non riesce ad inserire i dati che gli passo nel database.
quale può essere la causa?
eccovi lo script.
Codice PHP:
mysql_connect($sql['host'],$sql['user'],$sql['pass']) or die("Unable to connect to SQL server");
mysql_select_db($sql['data']) or die("Unable to find DB");
// La data
$dat = date("Y-m-d G-i-s");
// Controllo email
$search_pattern = "^([0-9a-z]+)([-._0-9a-z]+)@([-._0-9a-z]+)(\.[a-z]{2,3}$)";
$valido = eregi($search_pattern,$email);
if (isset($raptxt_commenti) && ($username != 'admin')){
// Errore, hai già votato
header("Location: error.php?error=è permesso un voto ogni 10 minuti per evitare spam!");
exit;
} else {
setcookie ("raptxt_commenti","$album",time()+600,"/");
if($nome == '' or $commento == '' or $rating=="" or $email=="")
{
// Errore, uno dei campi non è stato compilato
header("Location: error.php?error=devi compilare tutti i campi!");
exit;
}
else if(!$valido)
{
// Errore, uno dei campi non è stato compilato
header("Location: error.php?error=inserisci un indirizzo email corretto!");
exit;
} else {
$nome=addslashes($nome);
$commento=addslashes($commento);
// Inserisco i dati nel database
mysql_query("INSERT INTO commenti (nome, data, alb, commento, email, rating) VALUES '$nome', '$dat', '$album', '$commento', '$email', '$rating')");
// inserisco anche il voto
$query = mysql_query ("SELECT voto, voti FROM alb WHERE uid=$album") or die (mysql_error());
while(list($voto, $voti)= mysql_fetch_array($query))
{
$new_count = ($voti + 1);
$alb_rating2 = ($voto * $voti);
$new_rating = (($rating + $alb_rating2) / ($new_count));
$new_rating2 = number_format($new_rating, 2, '.', '');
$update_rating = mysql_query("UPDATE alb SET voto='$new_rating2',voti='$new_count' WHERE uid=$album");
}
// Ringrazio
echo "thanks";
exit;
}}
i dati vengono passati correttamente,
ho provato mettendo una echo subito dopo la query di inserimento nel db.
funziona l'update_rating ultimo.
solo la query INSERT INTO commenti non va....