そのため、ID(自動インクリメント列(主キー))によってデータベースからデータを取得し、<input>
値のプロパティを介してタグ内のすべてのフィールドを表示できるフォームがあります。また、フォームを送信するときに、ID列のIDがまだ存在しない場合は新しい行を挿入し、存在する場合は同じIDで行の残りのデータを更新する必要があります。
私はこれを研究しようとしていますが、私がやろうとしているのと同じことをしている人はいないようです。それは常にわずかに異なります。REPLACE INTOを見つけて、次のように作成しました。
$sqlString = 'REPLACE INTO coursework
SET cwID=`'. $cwID .'`,
cwTitle=`'. $cwTitle .'`,
cwContent=`'. $cwContent .'`,
cwProgress=`'. $cwProgress .'`,
cwDue=`'. $cwDue .'`;
$_POSTメソッドから受け取ったコンテンツであるすべての$cw[]変数。
エラーコードが表示され続ける:1054-「フィールドリスト」の不明な列「6」-「不明な列「6」」は、mysqlがcwIDではなく$ cwID($ _POST ['cwID']の値)を呼び出そうとしているcolumn(これは私のテーブルの主キーです)。単純で愚かなものが欠けているように感じますが、これまでこのREPLACEINTOメソッドを使用したことはありません。
INSERT IGNORE INTO
私はについての投稿を見ましたINSERT ... ON DUPLICATE KEY UPDATE
が、どちらも私が探しているものよりも破壊的に聞こえます。
cwIDが存在し、自動インクリメントがそのまま維持されている場合はテーブルが更新され、IDがない場合は新しい行が追加されることを確認したいだけです。SELECTクエリを実行して、それが存在するかどうかを確認し、適切にINSERT / UPDATEする必要がありますか?