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?