2013-07-08 122 views
0

我是新来的PHP和MySQL,我试图用PHP创建一个事件表,但由于某种原因它没有被创建。我不确定在我写或不写的东西是否有不正确的地方。使用php创建一个mysql表格

<?php include_once("php_includes/db_conx.php"); 
$tbl_events = "CREATE TABLE IF NOT EXISTS events (
       id INT(11) NOT NULL AUTO_INCREMENT, 
       title VARCHAR(255) NOT NULL, 
       privacylevel ENUM('a','b','c') NOT NULL DEFAULT 'a', 
       imageurl VARCHAR(255) NULL, 
       content TEXT NOT NULL, 
       event_start_date DATETIME NOT NULL, 
       event_end_date DATETIME NOT NULL, 
       event_startloc_name VARCHAR(255) NULL, 
       event_startloc_lat FLOAT(10, 6) NULL, 
       event_startloc_lon FLOAT(10, 6) NULL, 
       event_endloc_name VARCHAR(255) NULL, 
       event_endloc_lat FLOAT(10, 6) NULL, 
       event_endloc_lon FLOAT(10, 6) NULL, 
       your_location_lat FLOAT(10, 6) NULL, 
       your_location_lon FLOAT(10, 6) NULL, 
       PRIMARY KEY (id) 
      }"; 
$query = mysqli_query($db_conx, $tbl_events); 
if ($query === TRUE) { 
    echo "<h3>events table created OK :) </h3>"; 
} else { 
    echo "<h3>events table NOT created :(</h3>"; 
} 
?> 

还有其他表正在PHP文档中创建,他们的工作,所以我知道没有连接问题。

例如,仅低于有:

//////////////////////////////////// 
$tbl_users = "CREATE TABLE IF NOT EXISTS users (
       id INT(11) NOT NULL AUTO_INCREMENT, 
        username VARCHAR(16) NOT NULL, 
        email VARCHAR(255) NOT NULL, 
        password VARCHAR(255) NOT NULL, 
        gender ENUM('m','f') NOT NULL, 
        website VARCHAR(255) NULL, 
        country VARCHAR(255) NULL, 
        userlevel ENUM('a','b','c','d') NOT NULL DEFAULT 'a', 
        avatar VARCHAR(255) NULL, 
        ip VARCHAR(255) NOT NULL, 
        signup DATETIME NOT NULL, 
        lastlogin DATETIME NOT NULL, 
        notescheck DATETIME NOT NULL, 
        activated ENUM('0','1') NOT NULL DEFAULT '0', 
       PRIMARY KEY (id), 
        UNIQUE KEY username (username,email) 
      )"; 
$query = mysqli_query($db_conx, $tbl_users); 
if ($query === TRUE) { 
    echo "<h3>user table created OK :) </h3>"; 
} else { 
    echo "<h3>user table NOT created :(</h3>"; 
} 

,并没有任何问题,创建该表。

+1

决不** ** EVER输出一个固定的错误消息,当您可以输出实际系统 - 提供错误消息,例如'echo mysqli_error($ db_conx)'。如果你这样做了,你会被告知你的语法错误在哪里。 –

+0

谢谢Marc B,这是很好的建议。 – Livi17

回答

6

PRIMARY KEY (id)后,你有:

}"; 

应该是:

)"; 
+0

就是这样。谢谢这让我疯狂。只要网站允许,我会尽快将其选为正确答案。 – Livi17

+0

没问题,很高兴能够帮助! – Marcovecchio