Salve a tutti.

Ho creato un form per registrarsi su un sito.
Premendo "invia" do il via a uno script per verificare se il nome o l'email inseriti nei campi non siano già presenti nella tabella; in caso contrario permetto la query INSERT con i dati inseriti nel form.

Codice PHP:
$user=$_POST['user'];
    
$pswd_db=criptpass($_POST['pswd']);
    
$email=$_POST['email'];
    
$nome=$_POST['nome'];
    
$cognome=$_POST['cognome'];
    
$societas=$_POST['societas'];
    
        
    
$query=mysql_query("SELECT * FROM `utenti`WHERE username='$user' OR email='$email'") or die
(
mysql_error());// query per verificare l'eventuale esistenza dell'utente nella tabella

    
$num_rows=mysql_num_rows($query) or die (mysql_error());
    echo 
$num_rows."
"
;

        
    if(
$num_rows=='1'){

        while(
$ordina=mysql_fetch_array($query)){
            if(
$ordina['username']==$user AND $ordina['email']!=$email){
                echo 
"username gi&agrave esistente";
            }else if(
$ordina['username']!=$user AND $ordina['email']==$email){
                echo
"indirizzo email gi&agrave utilizzato";
            }else{
                echo 
"utente gi&agrave registrato";
            }
        }
    }else{

        
$inserisci=mysql_query("INSERT INTO `utenti` (id, email, username, password, nome,
 cognome, societas, stato, caso) VALUES (NULL, '
$email', '$user', '$pswd_db', '$nome', '$cognome',
 '
$societas', '0', '12457896')") or die(mysql_error());// query per inserire i valori 
    

Il problema è che quando la query di verifica non trova alcuna riga, cioè quando verifico che nella tabella non sono già presenti utenti con lo stesso user o la stessa email, non esegue la query di inserimento.
Ho provato con un po' di controlli e mi sono anche accorto che se il primo controllo è nullo non legge più le variabili $_POST, come se non fossero settate.

Dove sto sbagliando?