Salve a tutti, ho un database utenti e ho scritto una funzione che permette di modificare la password, fino a qualche giorno fa funzionava tutto perfettamente ora, non so come, mi succede una cosa strana, quando cerco di modificare tramite query il valore del campo password se metto la stessa password ottengo un errore mentre se la cambio la query funziona.
Faccio un esempio, ho questo campo da modificare che contiene 'pwdesempio' se chiamo la funzione e cerco di modificare il campo con lo stesso valore 'pwdesempio' la query non funziona mentre se la cambio con un altro valore esempio 'pwdesempio1' funziona benissimo!
Sembra che la query eviti di reimpostare il campo con un valore uguale a quello che già contiene, ma da codice non c'è nessun tipo di verifica se i due valori sono uguali!

posto il codice:
Codice PHP:
<?php
    
require_once 'database.php'//serve per connettersi al database
function resetPassword($userPassword,$userId)
{
    
// Apro la connessione al database
    
$connection getConnection();
    
    
// Questa  la query di aggornamento
    
$sql "UPDATE utenti SET password ='%s' WHERE id_user ='%d'";
    
    
// Assegno alla query i parametri da cercare
    
$sql sprintf($sql$userPassword$userId);
    
    
// Eseguo la query
    
$result mysql_query($sql$connection);
    
    if (
false == $result || mysql_affected_rows($connection) == 0)
    {
        return 
false;
    }
    else
    {
        return 
true;
    }
}


//faccio una prova
if( false == resetPassword('pwdesempio',1) )
    echo 
'FALSO';
else
    echo
'VERO';

se nel campo password c'è già 'pwdesempio' mi ritorna false!

Come mai? come posso evitarlo?