我正在向网站添加评论,并认为我会制作一个简单的评论表,如下所示,但它不起作用。一定是一个拼写错误,但尽管我一遍又一遍地检查并将其复制到另一个文件中等等,我还是找不到它。 对于那些熟悉评论的人来说,这些字段的数量是否足够?
$maketable = "CREATE TABLE comments(id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name VARCHAR(30),
whenadded DATETIME,
storyid INT,
comment TEXT,
show TINYINT(1),
userid INT)";
mysql_query($maketable);
我认为'show'是mysql中的保留字。尝试“显示”或其他方法:
$maketable = "CREATE TABLE comments(id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name VARCHAR(30),
whenadded DATETIME,
storyid INT,
comment TEXT,
display TINYINT(1),
userid INT)";
mysql_query($maketable);
您在 php 中用于数据库连接池的凭据不应具有数据库的创建/删除权限。最好使用像 phpmyadmin 这样的“sql-tool”来进行数据库设计。
其中一个优点是为了调试目的提供更好的错误消息?
$maketable ="CREATE TABLE comments (
id INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR( 30 ) NOT NULL,
whenadded DATETIME,
storyid INT( 10 ),
comment TEXT,
display INT(1),
userid INT ( 10 )
) ENGINE = MYISAM;"
mysql_query($maketable);
你检查过mysql_error吗?
php.net/mysql_error
我会将 PRIMARY KEY 行移动到 sql 语句的最底部。