1

わかりました..MySqlテーブルからデータレコードを取得する方法を知っています...そして、そのレコードのデータを変更してテーブルを更新したいです。

私の質問は...実際に結果行からそのデータを操作し、その後更新ステートメントでそれらを使用できますか?

例えば。

テーブルの行に 、 、 の 2 つのフィールドがあるとしNameますYearlyEarn

そして、月に一度、その月の収入を各人の YearlyEarn フィールドに追加したいと考えています。

名前が にある人の Select ステートメントを既に実行したとし$CurrentNameます。そして、彼らの記録を取得します。

$DataRow = mysql_fetch_array($result):

あなたはこれができますか:

$DataRow["YearlyEarn"] = $DataRow["YearlyEarn"] + $MonthEarn;

$query = "UPDATE EarnTable SET YearlyEarn = '$DataRow["YearlyEarn"]'    
`WHERE Name = '$CurrentName'" ;

$UpdResult = mysql_query($query) or die(mysql_error());

または.....データを中間フィールドに入れて操作し、更新ステートメントでそれらのフィールドを使用する必要がありますか?

4

3 に答える 3

1

はい、次のことができます。

UPDATE EarnTable
SET    YearlyEarn = YearlyEarn + 123
WHERE  Name = 'abc'
于 2013-01-17T01:43:24.673 に答える
1

PDOなどの準備済みステートメントを使用する必要があります。mysql_* は古くなっています。ただし、そうしない場合は、クエリを次のように変更することを検討する必要があります。

$query = "UPDATE EarnTable SET YearlyEarn = '$DataRow["YearlyEarn"]'`WHERE Name = '$CurrentName'" ;

に:

$query = "UPDATE EarnTable SET YearlyEarn = `" . $DataRow['YearlyEarn'] . "` WHERE Name = `$CurrentName`" ;
于 2013-01-17T01:26:00.593 に答える
0

以下を使用できます。

$query = "UPDATE EarnTable SET YearlyEarn = '$DataRow[YearlyEarn]' WHERE Name = '$CurrentName'" ;

配列参照を補間する場合、キーは自動的に引用符で囲まれます。

また:

$query = "UPDATE EarnTable SET YearlyEarn = '{$DataRow["YearlyEarn"]}' WHERE Name = '$CurrentName'" ;

の中{...}に任意の変数式を入れることができ、それが評価されて補間されます。

于 2013-01-17T02:11:11.707 に答える