2013-07-08 151 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