-3

これが私のコードです:

total_values配列を使用してフィールドを更新したい。テーブルからデータをフェッチしてから、同じテーブルのフィールドを更新したい

// select query to get the value
    for($j=0;$j<count($capacity);$j++)
   {  
     $capaci=$capacity[$j];
    // select query to get the value
     $sql2=mysql_query("SELECT recieved-allocate*plate_quantity as ans from total_values where capacity='$capaci'"); 
     while($fetch=mysql_fetch_array($sql2)) 
     {
      $recieves=$fetch['ans'];
      $sql3="update total_values set recieved='$recieves' where capacity='$capaci' and month='$mon'";
      mysql_query($sql3);
     }
    }
4

4 に答える 4

1

これがあなたがやろうとしていることだと私が理解した場合:

for($j=0;$j<count($capacity);$j++)
       {  
         $capaci=$capacity[$j];
        // select query to get the value
         $sql2=mysql_query("SELECT recieved-allocate*plate_quantity as ans from total_values where capacity='$capaci'"); 
         while($fetch=mysql_fetch_array($sql2)) 
         {
          $recieves=$fetch['ans'];
          $sql3="update total_values set recieved='$recieves' where capacity='$capaci' and month='$mon'";
          mysql_query(sql3);
         }
        }

idstam がコメントで述べたように、PDO を使用して SQL インジェクションを防ぐ方法を学ぶ

于 2012-04-13T04:47:29.800 に答える
0

recieved、、、allocateおよびplate_quantityフィールドがすべてMySQLテーブルの数値タイプであることを確認してください。

于 2012-04-13T05:59:03.433 に答える
0

mysql_query($sql3)あなたの SQL はかなり乱雑ですが、機能的には、定義した後にその行で を呼び出す必要があるだけかもしれません$sql3echoまた、 set を設定する直前のステートメントを削除することもできます$sql3

于 2012-04-13T04:58:12.870 に答える