用PHP创建一个mysql表

时间:2013-07-08 03:58:37

标签: php sql mysqli create-table

我是PHP和mysql的新手,我正在尝试用PHP创建一个事件表,但由于某种原因它没有被创建。我不确定我写的是否有不正确之处。

<?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 个答案:

答案 0 :(得分:6)

PRIMARY KEY (id)之后,你有一个:

}";

应该是:

)";