2017-05-08 2 views
0

Ich habe ein PHP-Skript unter, die eine Tabelle erstellt. Die Tabelle wird mit einem Namen entsprechend der Benutzer-E-Mail erstellt. Wenn die Tabelle jedoch erstellt wird, ist der Standardwert für first_name, der von der Variablen $ firstname zugewiesen wird, leer. In der Tat sind alle Felder leer. Ist mein Skript falsch?Erstellen Tabelle mit Standardwert von Variable zugewiesen

$email = $_SESSION['email']; 
$firstname = $user['first_name']; 

// Create database for user if not exists 
$DB_CON->exec("CREATE TABLE IF NOT EXISTS `".$email."` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `first_name` VARCHAR(100) NOT NULL DEFAULT '.$firstname.' 
PRIMARY KEY (`id`) 
)"); 
+1

Sind Sie sicher, dass Sie dies tun möchten? –

Antwort

0

Im Grunde das ist nicht, wie Datenbanken arbeiten, sondern für Ihr Problem:

$email = $_SESSION['email']; 
$firstname = $user['first_name']; 

// Create database for user if not exists 
$DB_CON->exec("CREATE TABLE IF NOT EXISTS `".$email."` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `first_name` VARCHAR(100) NOT NULL DEFAULT ".$firstname." 
PRIMARY KEY (`id`) 
);INSERT INTO `".$email."` (`id, `first_name`) VALUES(NULL, NULL)"); 

Aber wie gesagt, das ist nicht, wie Datenbanken arbeiten ...

Moste wahrscheinlich, dass Sie einen Benutzer erstellen möchten Tabelle und arbeiten damit:

CREATE TABLE IF NOT EXISTS `users` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `email` VARCHAR(100) NOT NULL, 
    `first_name` VARCHAR(100) NOT NULL, 
PRIMARY KEY (`id`)) 

Und dann fügen Sie Ihre Daten in diese Tabelle ein.

DB_CON->exec("INSERT INTO `users` (`email`, `first_name`) VALUES (".$email.", ".firstname."") 
+0

Klingt wie es ist ein zweistufiger Prozess, der Sinn macht. – MasterJoe

Verwandte Themen