目前我正在制作论坛软件,我正在编写安装脚本,用于设置数据库和表格。它使数据库和表格变好。它应该有4个表:论坛,帖子,主题和user_info。
它成功地创建了数据库,论坛,帖子和主题,但它没有创建user_info表,我无法弄清楚原因。
这是我的代码:
$createdb = "CREATE DATABASE forumstest";
$run_createdb = mysql_query("$createdb");
//Create tables
mysql_select_db("forumstest");
$createforums = "CREATE TABLE forums (id int NOT NULL, description text, PRIMARY KEY (id))";
mysql_query("$createforums");
$createposts = "CREATE TABLE posts (id int NOT NULL, created_by varchar(200), date_created date, the_post text, topic_id text, PRIMARY KEY (id))";
mysql_query("$createposts");
$createtopics = "CREATE TABLE topics (id int NOT NULL, title varchar(200), created_by varchar(200), date_created date, forum_id text, PRIMARY KEY (id))";
mysql_query("$createtopics");
$createtopics = "CREATE TABLE user_info (id int NOT NULL, username varchar(25), password varchar(100), name varchar(65), email varchar(65), date date, group text, PRIMARY KEY (id))";
mysql_query("$createtopics");
$dbcreated = 1;
echo "Database created sucessfully!";
答案 0 :(得分:6)
date
就像group
一样,是一个保留关键字,如果你做了一些错误检查,你会看到它。
答案 1 :(得分:2)
date
和group
是mysql保留字。你必须用反引号保留它们或不使用保留字作为列名。
`date` date, `group` text
您应该使用mysql_error()
和mysql_query()
来查看mysql的错误消息。
mysql_query("$createtopics") or trigger_error(mysql_error());
答案 2 :(得分:0)
您正在使用相同的变量来创建主题和user_info表
答案 3 :(得分:0)
您应该使用这两行来创建user_info表:
$create_user_info = "CREATE TABLE user_info (id int NOT NULL, username varchar(25), password varchar(100), name varchar(65), email varchar(65), 'date_created' date, 'group_user' text, PRIMARY KEY (id))";
mysql_query("$create_user_info");
//因为日期和组是保留关键字