2012-04-18 10 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

0

phpでデータベース接続プーリングに使用している資格情報には、データベースの作成/削除権限がありません。データベース設計を行うには、phpmyadminのような "sql-tool"を使用する方がよいでしょう。

利点の1つは、デバッグの目的でより良いエラーメッセージですか?

+0

接続文字列の作成/削除をどのように無効にしますか?私はphpadminを使って、dbaseを見ています。 – user1260310

+0

接続文字列でこれを無効にしないでください。データベースのユーザー権限を変更する必要があります。 – JohanB

0

あなたはmysql_errorをチェックしましたか?

php.net/mysql_error

と私は、SQL文の一番下にPRIMARY KEY線を移動します。

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); 
関連する問題