0

mysql_fetch_assoc を使用して変数を取得するために SELECT クエリを使用しています。次に、変数を UPDATE 変数に入れ、戻り値をデータベースに戻します。

値をハード コーディングするか、従来の変数を使用すると問題なく動作しますが、以前にデータベースから取得した値を使用すると機能しません。配列変数を自分のテキストにリセットしようとしましたが、うまくいきました。

$arrgateRetrivalQuery = mysql_query(**Select Query**);
    $arrGate = mysql_fetch_assoc($arrgateRetrivalQuery);
    $arrivalGateTest = $arrGate['gatetype'];
$setGateAirportSQL = "UPDATE pilots SET currentgate = '".$arrivalGateTest."' WHERE pilotid = '".$pilotid."'";
    $setGateAirportQuery = mysql_query($setGateAirportSQL);

    // Close MySQL Connection
    mysql_close($link);

これにより、更新するフィールドに何も含まれなくなりますが、変数をSELECTから定義したものに削除するたびに、配列かどうかに関係なく機能します。

これが十分に明確であることを願っています。前もって感謝します。

4

2 に答える 2

0

数値ですかarrivalGateTest、それとも文字列ですか? どのようにしてクエリに別の値を入れようとしましたか? 前のクエリが値を返すことが確実な場合は、次のように記述してみてください$setGateAirportSQL = "UPDATE pilots SET currentgate = '$arrivalGateTest' WHERE pilotid = '$pilotid'";

于 2013-06-15T11:44:29.927 に答える
0

サブクエリを含めるようにSQLを変更するだけです。

次の一般的な構文を使用できます。

UPDATE pilots SET currentgate = (SELECT gate FROM airport WHERE flight='NZ1') WHERE pilotid='2';

このフィドルで実証されています

これにより、余分なクエリが節約され、達成しようとしていることをより正確に説明できます。

警告 - 最初に注意深くテストしてください。

于 2013-06-15T11:54:02.600 に答える