giorno a tutti .. ho provato a creare da solo un rudimentale script per la creazione di un utente e la sua registrazione in un database MySQL.
Il problema ovviamente è che lo script non funziona ..
mi riporta "Errore durante la registrazione. Riprova" senza riportare l' errore mysql (mysql_error ()) . In pratica non riesce ad inserire i dati nella tabella

Codice PHP:
<?php
 
include("config.inc.php");
 
 
$usr $_POST['username'];
 
$pass $_POST['password'];
 
    
//connessione
   
$conn mysql_connect("$db_host""$db_user""$db_pass")
           or die (
"Impossibile connettersi al server." mysql_error ());
           
        
mysql_select_db("$db_name")
        or die (
"Connessione al database non riuscita." mysql_error ());
        
    
$sql "SELECT $usr FROM $db_name";
    if (
mysql_affected_rows() < 0)
    {
     
$sql "CREATE TABLE $usr (
             id INT (5) UNSIGNED not null AUTO_INCREMENT, 
             psw BLOB NOT NULL, 
             mail TEXT NOT NULL, 
             commenti TEXT NOT NULL,
             PRIMARY KEY (id))"
;
              
mysql_query($sql)
              or die (
mysql_error ());
     }
     else 
     {
     echo 
"Nick non disponibile";
     }
     
        if (
mysql_affected_rows() > 0
        {
        
$sql "INSERT INTO $usr (psw) VALUES ($pass)";
               
mysql_query($sql)
               or die (
mysql_error ());
             if (
mysql_affected_rows() > 0
            {
             print(
"<p align='left'>Registrazione avvenuta con successo.</p>");
            }
        }
        else
        {
        print(
"Errore durante la registrazione. Riprova." mysql_error ());
        }
             
        
mysql_close($conn);
?>
in particolare due cose:
1) se creo una tabella con 3 campi (togliendo l' id), posso inserire un solo dato? tipo solo la "password" e lasciare vuoti i campi "commenti" e "mail" ?

2) il secondo "if (mysql_affected_rows() > 0)" si dovrebbe riferire al fatto che, SE la tabella è stata creata (>0), allora inserisco i dati. è giusto scritto così, o quel "if (mysql_affected_rows() > 0)" non si riferisce a niente?