1

初心者のMySQLユーザーとして挿入しようとしましたが、空白行にしか挿入できないMySQLのドキュメントを読んだだけです。ただし、UPDATEステートメントは機能する必要があり、構文が正しいかどうかわかりません。

$query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`="$office"";

officesはテーブル名です。scashは更新される行です。$ totalは、投稿から取得された変数です。$ officeは、同じデータベースから取得された変数です。私は、officenameが$officeである合計にscashを設定したいだけです。

解析エラー:構文エラー、予期しないT_VARIABLEがエラーです。

4

3 に答える 3

2
$query3 = "UPDATE `offices` SET `scash`='$total' WHERE `officename`='$office'";

二重引用符は文字列の区切り文字であり、文字列では使用できないため、文字列内の二重引用符を通常の引用符に置き換えます。

そして、Marc Bが述べたように、あなたのコードはSQLインジェクションに対して脆弱かもしれません。これを回避する方法については、この投稿を参照してください。

于 2012-10-22T17:26:28.253 に答える
1

あなたは引用で間違っています

$query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`='$office'";

LIMIT 1また、単一の行だけを更新する場合は常に使用します...

行を更新する前に入力をサニタイズし、少なくとも使用しますmysqli_real_escape_string()

于 2012-10-22T17:27:51.850 に答える
1

それでも二重引用符の中に二重引用符を使用したい場合は、それをエスケープしてください。

クエリは次のように変更できます。

$query3 = "UPDATE `offices` SET `scash`=\"$total\" WHERE `officename`=\"$office\"";
于 2012-10-22T17:48:22.590 に答える