Buongiorno a tutti,
sto cercando d'implemetare uno script che mi permetta d'inviare mail a blocchi di 50, prelevando gli indirizzi da una tabella del mio DB.
	
	
	
		
In realtà lo script invia una sola mail e poi mi da il seguente errore:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource on line 1475
Alla linea 1475 corrisponde il seguente codice: if($contatore<=50 && $riga[2]=="no")
Per quel poco che capisco io, dunque è come se al secondo giro del ciclo while, la condizione if già noi sia più verificata; perchè?
Grazie a tutti,
Marco
				
			sto cercando d'implemetare uno script che mi permetta d'inviare mail a blocchi di 50, prelevando gli indirizzi da una tabella del mio DB.
		PHP:
	
	$db_selection = mysql_select_db($nomedb, $nome) or die ("Selezione del database fallita<br><br>");   
// la tabella prova contiene un campo (inviato) settato a no per default
$query = "SELECT * FROM prova";   
$result = mysql_query ($query, $nome) or die ("");   
$contatore=0;   
while ($riga = mysql_fetch_row($result)) {  
// ricavo l'id della tabella prova, contenente gli indirizzi dei miei iscritti     
$id=$riga[0];       
$inviato="si";       
$contatore = $contatore + 1; 
// la riga[2] corrisponde al campo inviato della tabella prova      
if($contatore<=50 && $riga[2]=="no") {       
$tipo_email = "MIME-Version: 1.0\nContent-type: text/html; charset=utf-8";       
$oggetto = "E' solo una prova";       
$destinatario = "jyttjtjytjyjyyt@libero.it";       
$headers = "From: io <io@io.it>\n$tipo_email";       
$headers .= "\r\nBcc: $riga[1]\r\n\r\n";       
$headers .= "\r\nX-Mailer: PHP/" . phpversion();       
$messaggio = "                  
<html>                    
<body>                      
<table align=\"center\" width=\"600\" border=\"0\"bordercolor=\"#FF9900\">                        
<tr>                          
<td>                            
<a href=\"http://www.io.it/io/io\" title=\"Il portale per personalizzare gli strumenti per io\" target=\"_blank\">                              
<img src=\"http://127.0.0.1/altri/io/io/img/invio_news_img/pinguini.jpg\" border=\"0\"/>                            
</a>                               
</td>                        
</tr>                      
</table>                   
</body>                  
</html>                  ";                             
mail($destinatario, $oggetto, $messaggio, $headers);       
echo "Email inviata a $riga[1]<br/><br/>"; 
// eseguo l'update della riga della tabella prova, in modo da far cambiare in si il valore del campo inviato      
$query_uno = "UPDATE prova SET inviato='$inviato' WHERE id='$id'";       
$result = mysql_query ($query_uno, $nome); 
} else {        
 break;       
}    
}    
echo "<br>Invio di <b>$contatore</b> email terminato con successo"; ?>
	In realtà lo script invia una sola mail e poi mi da il seguente errore:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource on line 1475
Alla linea 1475 corrisponde il seguente codice: if($contatore<=50 && $riga[2]=="no")
Per quel poco che capisco io, dunque è come se al secondo giro del ciclo while, la condizione if già noi sia più verificata; perchè?
Grazie a tutti,
Marco