私のテーブル構造(MySQL /それぞれは以下と同じです)
+-------+--------------+------+------+-------------------+
| Field | Type | Null | Key | Default |
+-------+--------------+------+------+-------------------+
| id | int(11) | NO | PRI | AUTO INCREMENT |
| lesson| varchar(255) | NO | | LESSON_NAME |
| exam | char(50) | NO |UNIQUE| NO DEFAULT |
| quest | text | NO | | NO DEFAULT |
| answer| text | NO | | NO DEFAULT |
| note | text | NO | | NO DEFAULT |
+-------+--------------+------+------+-------------------+
そして、私はajax($post)を介してこのテーブルを追加するためにいくつかの値を投稿しています-database.phpのPHP 5.0
には、投稿されたデータを取得してテーブルに追加する関数があります
function update_table ($proper_table, $name, $question, $answer, $note) {
$sql = "INSERT INTO $proper_table (id, lesson, exam, quest, answer, note) VALUES ('', '', $name, $question,$answer,$note) ON DUPLICATE KEY UPDATE exam = $name, quest = $question, answer = $answer, note = $note";
$result= mysql_query($sql)or die(mysql_error());
}
$proper_table 変数は別の変数によって取得され、このレコードを正しいテーブルに追加します。
(注: 元のテーブル フィールドと変数は異なります (トルコ語)。より理解しやすいように英語に翻訳しましたが、構文はご覧のとおりです。)
質問: 試験フィールドが同じであるという記録があるかどうかを確認したいこれらの変数はすべて、このレコードの更新に使用されます。それ以外の場合は、関数がこのレコードを新しいレコードとして適切なテーブルに配置します。
しかし、私は以下のようなエラーが発生しています
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
間違ったコーディングはありますか?解決策は何ですか?
おかげさまで今...