0

Web サイトにコメントを追加していて、次のように簡単なコメント テーブルを作成しようと考えましたが、機能しません。タイプミスに違いないのですが、何度も読み直して別のファイルにコピーしたりしても見つかりません。また、コメントに詳しい人にとって、これらは適切な数のフィールドですか?

$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の予約語だと思います。'display'または他の何かを試してください:

$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」を使用することをお勧めします。

利点の1つは、デバッグ目的でのエラーメッセージの改善です。

于 2012-04-18T19:53:19.550 に答える
0

mysql_errorをチェックしましたか?

php.net/mysql_error

そして、PRIMARYKEY行を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 に答える