2012-02-22 8 views
0

私はMySQLテーブルを作成する必要があります。だから私はこのスクリプトを実行していますが、うまく機能していません。どんな考え?テーブルを作成するPHPスクリプト

<?php 
$con = mysql_connect("database.dcs.aber.ac.uk","xxx","nnnnnnnnnn"); 
mysql_select_db("jaz",$con); 
$sql = "CREATE TABLE storys 
(
id int NOT NULL AUTO_INCREMET, 
title TINYTEXT, 
type TINYTEXT, 
link TEXT, 
preview TINYTEXT, 
tags TINYTEXT, 
text MEDIUMTEXT, 
updated TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP, 
created DATETIME() DEFAULT NULL, 
PRIMARY KEY(id) 
)"; 

mysql_query($sql,$con); 

mysql_close($con); 

?> 
+0

;'行の下に 'するmysql_query($ sqlを、$詐欺);'その後、TEL私が何かを出力すると、この行は通常どのようなエラーが発生しているのか、おそらくあなたの問題の理由を教えてくれます –

+0

これはエラーです: SQL構文に誤りがあります。 DATETIME()DEFAULT NULL、 –

+0

作成されたON UPDATE CURRENT_TIMESTAMP、ON UPDATE CURRENT_TIMESTAMP、 DATETIME()は更新されたTIMESTAMP() DEFAULT NULL、 'を行うには?あなたは日付フィールドが欲しいですか? –

答えて

4

コードには絶対的なエラー処理がありません。これは、クエリに失敗した理由を示しています。

$con = mysql_connect(...) or die(mysql_error()); 

$res = mysql_query(...) or die(mysql_error()); 

ほとんどすべてのmysql呼び出しで必要な最小限のエラー処理です。

持っていたこの場所にされて、あなたがするように言われてきたと思います:

以前に記載されている問題の中で
id int NOT NULL AUTO_INCREMET, 
          ^---missing 'n', not a valid SQL keyword. 
0

、あなたはデータ型定義の関数を使用していて、「ON UPDATE」構文が間違っています。ここで

私はあなたがSQLで探していると思うものです: `エコーmysql_error()の行を追加します。

CREATE TABLE IF NOT EXISTS `storys` (
`id` INT NOT NULL AUTO_INCREMENT , 
`title` TINYTEXT, 
`type` TINYTEXT, 
`link` TEXT, 
`preview` TINYTEXT, 
`tags` TINYTEXT, 
`text` MEDIUMTEXT, 
`updated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , 
`created` DATETIME DEFAULT NULL , 
PRIMARY KEY (id) 
); 
+0

thxしかし、まだ同じエラー。 –

+0

どのMySQLのバージョンを使用していますか?また、エラーメッセージを再度表示できるので、まったく同じであることを確認できますか? –

+0

SQL構文にエラーがあります。 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'、 'created' DATE –

関連する問題