salve devo modificare circa 3000 record di un db contenente 60000 record totali.
devo modificare ed inviare 3000 password a un determinato tipo di utenti
Codice PHP:
$oggetto = $_POST["oggetto"];
$invia_a = $_POST["invia_a"];
$a= "";
$indirizzi = array();
if (($invia_a == "internal_id"))
{
$query = "SELECT * FROM utenti WHERE internal_id <> '".$a."'";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result) > 0)
{
while ($utente = mysql_fetch_assoc($result))
{
$indirizzi[] = $utente["email"];
$B= $utente["email"];
$A= $utente["cod_cliente"];
$new_password = generatePassword();
$sql = "UPDATE utenti SET password = '".md5($new_password)."' WHERE cod_cliente = '".$A."' AND email ='".$B."'";
mysql_query($sql) or die(mysql_error()); //restituisce la riga dell'errore
}
}
mysql_free_result($result);
}
if ($indirizzi)
{
//invio mail
if ($indirizzi)
{
$nominativo = $utente["nome"];
$email_dest = $utente["email"];
echo "$nominativo";
echo "$email_dest";
include("class/phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
//settiamo su true il metodo che indica alla classe
//il formato HTML
$mail->IsHTML(true);
$mail->SetFrom(MITTENTE_EMAIL, MITTENTE_NOME);
$mail->Subject = $oggetto;
//inseriamo i tag HTML e i CSS per formattare il messaggio
$mail->Mailer = MAILER;
$mail->Host = SMTP;
//$mail->Send();
foreach ($indirizzi as $indirizzo)
{
$mail->AddAddress($indirizzo);
if ($mail->Send())
{
$num_ok++;
}
else
{
$num_ko++;
}
$mail->ClearAddresses();
}
}
header("location:feedback.php?ok=".$num_ok."&ko=".$num_ko."");
volevo chiedervi come mai lo lanciato questo script ed impiega circa 10-15min per eseguirlo e non invia mail
e non modifica password