2017-06-01 12 views
0

友だち、フィールド名をデータベースの値1として表示し、値をフィールドの結果として表示しますが、フィールドの値を保存することはできません。更新中php

$result = $db->query($query); 

    while($rowID = $result->fetchArray()){ 
    echo 
    " <label class=\"control-label \" for=\"text\"> 
     ".$row['value1'] ." 
     </label> 
     <input class=\"form-control\" value=".$rowID['value2'] ." id=\"\" name=".$rowID['id']." type=\"text\"/> 

    </div>"; 
    } 

if(isset($_POST['submit_data'])){ 

     $ret1 = $db->query($query); 
     while($rowID = $ret1->fetchArray()) 
     {   

     $query = "UPDATE table set value2 ='" . $_POST[$rowID['id']] . "' WHERE id='" . $rowID['id'] . "'"; 


      } 

     if($db->exec($query)){ 
      $message = "Data is updated successfully."; 
     }else{ 
      $message = "Sorry, Data is not updated."; 
     } 
    } 
+0

値1が表示され、値2が格納されています。 –

+0

http://bobby-tables.com - SQLインジェクションについて学ぶ。あなたのスクリプトは非常に危険な状態にあり、データベースは数秒でハッキングされる可能性があります。 – Twinfriends

答えて

1

最後に生成されたwhileループの値は、$ queryの値になります。あなたは同時にクエリを実行する必要があります。

if(isset($_POST['submit_data'])){ 

    $ret1 = $db->query($query); 
    while($rowID = $ret1->fetchArray()) 
    {   

     $query = "UPDATE table set value2 ='" . $_POST[$rowID['id']] . "' WHERE id='" . $rowID['id'] . "'"; 
     if($db->exec($query)){ 
      $message = "Data is updated successfully."; 
     }else{ 
      $message = "Sorry, Data is not updated."; 
     } 

    } 


}