Grazie della risposta, ho appena provato e funziona, non sapevo che si potessero inserire altre condizioni in un unica query per questo mi sono complicato la vita creando funzioni e funzioni..
Solo che il problema adesso rimane quello dei buchi.. ho cambiato l'intera funzione che uso per richiamare e salvare le frasi, solo che nei messaggi di successo certe volte non mi compare l'ID della frase assegnata e di conseguenza, vado a controllare sul db e il campo frase risulta vuoto.. da cosa potrebbe essere causato? Il codice che uso è questo
codice:
<?php function assegnaFrase($categoria,$giocatore) {
	 $aumento = ($config[4] + mt_rand(1, 10));
	 $randomau = rand($config[4],$aumento);
	 $minimo = dammiPunteggioGiocatore($giocatore);
	 $max = ($minimo + $randomau); 
	 $sql = "SELECT * FROM frasi".$categoria." WHERE percentuale BETWEEN ".$minimo." AND ".$max." AND DATEDIFF(CURDATE(), lastused) > 2";
	 $result = mysql_query($sql) or die(mysql_error()); 
	 
     $row = mysql_fetch_array($result);


	 $frasehtml = htmlspecialchars($row['frase']);
	 $aggiorna = "UPDATE oroscopi SET ".$categoria." = '".$frasehtml."' WHERE id = '".$giocatore."'";//SQL che aggiorna la frase del $giocatore della $categoria scelta.
	 mysql_query($aggiorna); 
	 mysql_query("SET CHARACTER SET utf8 ") or die ("errore codifica:".mysql_error()."");//Query x  CHARACTER SET
	 $lol = mysql_query("UPDATE frasi".$categoria." SET lastused = CURDATE() WHERE id = '".$row['id']."'")or die("Errore nel salvataggio lastused " . mysql_error());
	
	if($aggiorna == TRUE)
	{
		msgErrore(3,"<br />FRASE ".$categoria." GIOCATORE ".getNamePlayer($giocatore)." salvato con successo con la frase ID ".$row['id']."<br />");
	}
	else if($aggiorna == FALSE)
	{
		msgErrore(1,"<br />FRASE GIOCATORE: ".getNamePlayer($giocatore)." ERRORE: ".mysql_error()."<br />");
	}
	
	if($lol == true)
	{
		msgErrore(3,"<br />lastused aggiornata per la frase id ".$row['id']."<br />");
	}
	else if($aggiorna == FALSE)
	{
		msgErrore(1,"<br />lastused non aggiornato ERRORE: ".mysql_error()."<br />");
	}
	
 }
 
 ?>