2012-04-18 88 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);