0

我正在向网站添加评论,并认为我会制作一个简单的评论表,如下所示,但它不起作用。一定是一个错字,但我找不到它,尽管我一遍又一遍地把它复制到另一个文件等等。对于那些熟悉评论的人来说,这些字段是否足够?

$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);
4

4 回答 4

2

我认为'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);
于 2012-04-18T19:52:39.907 回答
0

您在 php 中用于数据库连接池的凭据不应该对您的数据库具有创建/删除权限。最好使用像 phpmyadmin 这样的“sql-tool”来进行数据库设计。

优点之一是用于调试目的的更好的错误消息?

于 2012-04-18T19:53:19.550 回答
0

你检查过mysql_error吗?

php.net/mysql_error

我会将 PRIMARY KEY 行移到 sql 语句的最底部。

于 2012-04-18T19:53:50.737 回答
0
$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);
于 2012-04-18T20:03:42.440 回答