13 個のフィールドを持つデータベース テーブルがあり、そのうちの 9 個はフォームからのユーザー入力によって入力されます。新しい行の挿入は正常に機能しますが、既存の行の更新に問題があります。私は友人に意見を求めましたが、彼は助けてくれませんでした。
各調整は 1 つのフィールドからすべてのフィールドをカバーできるため、ユーザーが調整可能なすべてのフィールドを更新する必要があり、複数の SET ステートメントを使用したクエリが必要になります。更新クエリは
$query = sprintf("UPDATE tour
SET StopNum=%d, SET ForwardLink=%d, SET BackLink=%d, SET LeftLink=%d,
SET RightLink=%d, SET Name= '%s', SET Lat=%f, SET Lon=%f, SET Heading=%d
WHERE FileName='%s'", $_POST['curStop'], $_POST['nextStop'], $_POST['prevStop'],
$_POST['leftStop'], $_POST['rightStop'], $location, $latitude, $longitude,
$heading, $image);
上記のクエリを使用すると、更新の例で次の出力が得られます。
UPDATE tour SET StopNum=0, SET ForwardLink=0, SET BackLink=0, SET LeftLink=0, SET RightLink=0, SET Name= 'Start', SET Lat=98.154000, SET Lon=-75.214000, SET Heading=100 WHERE FileName='../panos/photos/1-prefix_blended_fused.jpg'
mysql のエラー メッセージによると、near を使用する正しい構文については、マニュアルを確認する必要があります。
'SET ForwardLink=0, SET BackLink=0, SET LeftLink=0, SET RightLink=0, SET Name= 'S' at line 1
フィールド 'Name' は null 許容の varchar(250) コンテナーとして定義されているため、5 文字で十分なストレージ容量があります。