2017-05-31 3 views
0

Ich versuche, eine Tabelle mit CREATE TABLE IF NOT EXISTS zu erstellen, aber etwas falsch. Ich konnte das nicht lösen. Könnte mir jemand helfen?Kann Tabelle nicht erstellen MySQLi

<?php 
$server  = "localhost"; 
$user  = "root"; 
$password = ""; 
$dbname  = "bombus"; 
$connection = @new mysqli($server, $user, $password, $dbname) or die("ERROR : " . mysqli_error()); 
$tablename = "users"; 
$newTable = $connection->query("CREATE TABLE IF NOT EXISTS $tablename(
    ID int NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(ID), 
    userName VARCHAR(MAX) NOT NULL UNIQUE, 
    password CHAR(32) NOT NULL, 
    isAdmin TINYINT(1) NOT NULL, 
    companyID int NOT NULL, 
    branchID int NOT NULL 
)"); 
mysqli_close($connection); 
?> 

Vielen Dank für Ihre hilft.

+0

Erhalten Sie irgendwelche Fehler, wenn Sie diesen Code ausführen? Sind Sie sicher, dass die Tabelle noch nicht existiert? Sie haben ein @ in der Zeile, die $ connection definiert, entfernen Sie es. – Milanzor

+0

Diese [Antwort] (https://Stackoverflow.com/a/25146296/5513005), könnte Ihnen helfen ... Ich sehe, dass Sie nicht die Datenbank über PHP einchecken, wenn die Tabelle existiert oder nicht. Durch deine Problemstellung konnte ich nicht viel helfen. –

+1

Sie müssen das Passwort zu einem anderen Namen ändern, Passwort ist ein eingebauter Name, versuchen Sie user_pass und führen Sie das Skript erneut – Exprator

Antwort

1

Sie haben einige Probleme in Ihrem Skript. ändern Sie Ihre Tabelle Abfrage wie folgt:

$newTable = $connection->query("CREATE TABLE IF NOT EXISTS $tablename(
    ID int NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(ID), 
    userName VARCHAR(50) NOT NULL UNIQUE, 
    user_password CHAR(32) NOT NULL, 
    isAdmin TINYINT(1) NOT NULL, 
    companyID int NOT NULL, 
    branchID int NOT NULL)"); 
+1

Weg zu gehen! Genau das, was in den Kommentaren zu der Frage gesagt wurde. – Milanzor

+0

Vielen Dank Ändern von max 255 funktioniert –

+0

Also @AliDayan bitte akzeptieren B.Desai's Antwort in Bezug auf ihn :-) – NDFA