Premetto che il mio collation è settato correttamente come _ci

In pratica, mi succede questo.
Attraverso un array riscrivo (facendo alcune somme e calcoli) una tabella di punteggi utenti .... solo che quando faccio il controllo del nick e il conseguente update se il nick già esiste, "bukowski" e "Bukowski" per lui sono 2 nick diversi invece che uguali.

Questo penso sia il pezzo incriminato

Codice PHP:
if ($row['classgenerale'] == '1') { //se c'è la condizione che io dico

   
if ($posizione <= 20) {
      if(
in_array($row['nickpt'], $cg_giocatori )) {  // update
         
$sql "UPDATE $tabella SET cg_score=cg_score+" $cg_pt["$posizione"];
         
$sql .= " WHERE cg_nickpt = '" $row['nickpt'] . "'";
         
mysql_query($sql)  or die(WQ(__FILE__,__LINE__$sql));

      } else {  
// insert
        
$sql "INSERT INTO mp_classgenerale (cg_nickpt, cg_score) VALUES ('".
$row['nickpt'] ."', '"$cg_pt["$posizione"] ."')";
        
mysql_query($sql)  or die(WQ(__FILE__,__LINE__$sql)); 
Cosa mi consigliate di fare?

Grazie mille