2012-04-18 86 views
0

我正在向网站添加评论,并认为我会做一个简单的评论表如下,但它不工作。必须是拼写错误,但我无法找到它,尽管一遍又一遍地将它复制到另一个文件中等等。对于那些熟悉评论的人来说,这些数量还是足够的?PHP的mysql表评论

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

回答

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); 
+0

就是这样。非常感谢! – user1260310 2012-04-18 20:05:39

0

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

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

+0

如何禁用连接字符串中的创建/删除操作?我确实有我用来查看dbase的phpadmin。 – user1260310 2012-04-18 20:08:18

+0

您不会在连接字符串中禁用此功能。您需要更改您的数据库用户权限。 – JohanB 2012-04-19 06:54:26

0

你检查了mysql_error吗?

php.net/mysql_error

,我会的PRIMARY KEY线移动到SQL语句的最底部。

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