2017-06-01 51 views
0

朋友们,我将字段名称显示为数据库的值1和值作为字段的结果,但我无法提高它以保存字段的值。更新while和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

您显示的是value1,并存储了value2。 –

+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."; 
     } 

    } 


}