2010-11-18 7 views
1

に追加するとき、私は別のスクリプト内の値のわずかな変更で、この正確なコードを使用しました、それがうまく働いていたが、今回は、それは私にエラーを与えています。私はこれですべての変数をエコー-INGの試してみた奇妙なMySQLエラーデータベース

$result = mysql_query("INSERT INTO contacts (name, email, telephone, companyname, postcode, message, date) VALUES('" . $name . "', '" . $userEmail . "', '" . $telephone . "', '" . $companyName . "', '" . $message . "', '" . $date . "'") or die (mysql_error()); 

:フォームが送信されたときに細かいそれらをすべて表示する

<p>Name: <?php echo $name; ?>, <br />Email: <?php echo $userEmail; ?>, <br />Telephone: <?php echo $telephone; ?>, <br />Company name: <?php echo $companyName; ?>, <br />Message: <?php echo $message; ?>, <br />Date: <?php echo $date; ?>, <br /></p> 

これが行です。しかし、それらをデータベースに追加しようとすると、それは外に出て、これを言う:

あなたはSQL構文に誤りがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文が1行目近くにあることを確認してください。

私は単純なものがないと思いますが、私はどこかでタイプミスをしましたそれを再確認するために再入力しました)。

database set-up 任意のアイデア:

ここに私のデータベースがセットアップされている方法ですか?


UPDATE

I追加クエリに)を逃すと、それは最初のエラーを処分したが、私はそれを提出する際に、今、私はこのエラーを取得しています:

列数が行1の値と一致しない


FIXED

私は$postcode変数がありませんでした。ドー!

+0

エラーの説明が良好です。非常に素晴らしい! – powtac

答えて

2

あなたはVALUES()のために、あなたのクエリの最後に)が欠落しています。

$result = mysql_query("INSERT INTO contacts (name, email, telephone, companyname, postcode, message, date) VALUES('" . $name . "', '" . $userEmail . "', '" . $telephone . "', '" . $companyName . "', '" . $message . "', '" . $date . "')") or die (mysql_error()); 
+0

私の最初の投稿を更新しました。私は、 ')'記号を追加しましたが、私は – Chrish

+2

@Chrish前に遭遇しなかった新しいエラーを取得しています:あなたは郵便番号を逃しています。 – Bobby

+0

@Bobby私はちょうど私がそれを修正したと言ってポストを更新しようとしていた。あなたは正しいです、それは欠けていたものです。返信いただきありがとうございます :-) – Chrish

1

VALUESで指定したフィールド数より1つ多いフィールドを宣言します。これは列数を持つものかもしれません。