我正在向网站添加评论,并认为我会制作一个简单的评论表,如下所示,但它不起作用。一定是一个错字,但尽管一遍又一遍地把它复制到不同的文件中等等,我还是找不到它。 另外,对于那些熟悉评论的人来说,这些字段是否足够多?
$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"来进行数据库设计。
一个优点是用于调试目的的更好的错误消息?
你检查过mysql_error吗?
php.net/mysql_error
我会将 PRIMARY KEY 行移动到 SQL 语句的最底部。
$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);