/ / Створення таблиці з php - php, mysql, html5

Створення таблиці з php - php, mysql, html5

У мене є проблема з "створити таблицю" в PHP. Ім'я таблиці - це ім'я зареєстрованого користувача. Проблема в "$ nuovidati". Сценарій реєстрації працює, але не створює таблицю .....

Код:

    <?php
require("config.php");
if(isset($_POST["registra"]))
{
$user = (isset($_POST["user"])) ? trim($_POST["user"]) : "";
$pass = (isset($_POST["pass"])) ? trim($_POST["pass"]) : "";
$mail = (isset($_POST["mail"])) ? trim($_POST["mail"]) : "";
if (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
$mail = addslashes($mail);
}
if(strlen($user) < 4 || strlen($user) > 12)
die("Nome Utente troppo corto, o troppo lungo");
elseif(strlen($pass) < 4 || strlen($pass) > 12)
die("Password troppo corta, o troppo lunga");
elseif(!eregi("^[a-z0-9][_.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $mail))
die("Email non valida");
elseif(mysql_num_rows(mysql_query("SELECT user FROM utenti WHERE user = "$user" LIMIT 1")) == 1)
die("Nome Utente non disponibile");
elseif(mysql_num_rows(mysql_query("SELECT mail FROM utenti WHERE mail = "$mail" LIMIT 1")) == 1)
die("Questo indirizzo email risulta gi&agrave; registrato ad un altro utente");
else
{
$pass = md5($pass);
$strSQL = "INSERT INTO utenti (user,pass,mail)";
$strSQL .= "VALUES("$user", "$pass", "$mail")";
mysql_query($strSQL) OR die("Errore 003, contattare l"amministratore ".mysql_error());
$index = "modello.php";
copy($index, $user) or die("Errore copia.");
$rin = basename($user, ".php").".php";
rename($user, $rin);
$nuovidati = "CREATE TABLE ".$user."
(
descrizione varchar(100) DEFAULT NULL,
data date NOT NULL,
entrata varchar(10000) NOT NULL,
uscita varchar(10000) DEFAULT NULL,
saldo varchar(100) DEFAULT NULL,
id mediumint(9) NOT NULL AUTO_INCREMENT
)";
mysql_query($nuovidati) OR die("Erroe: ".mysql_error());
header("Location: registrato.php");
exit;
}
}
?>

Ось робочий код:

$nuovidati = "CREATE TABLE $user
(
descrizione varchar(100) DEFAULT NULL,
data date NOT NULL,
entrata varchar(10000) NOT NULL,
uscita varchar(10000) DEFAULT NULL,
saldo varchar(100) DEFAULT NULL,
id mediumint(9) NOT NULL AUTO_INCREMENT,
primary key (id)
)";
mysql_query($nuovidati) OR die("Errore: ".mysql_error());

Відповіді:

0 для відповіді № 1

Мені здається, що це помилка SQL, спробуйте це:

"CREATE TABLE $user
(
id mediumint(9) NOT NULL AUTO_INCREMENT,
descrizione varchar(100) NULL DEFAULT NULL,
data date NOT NULL,
entrata varchar(10000) NOT NULL,
uscita varchar(10000) NULL DEFAULT NULL,
saldo varchar(100) NULL DEFAULT NULL,
PRIMARY KEY (id)
)";