使用POST方法更新mysql表

时间:2017-02-09 16:32:24

标签: php mysql

我有一个带有一些文本框的表单,用于加载数据库中的数据。我还创建了一个按钮,我可以更新数据,但目前它不起作用,我也没有任何线索。

这是我的疑问:

<?php
include('connect.php');

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

    $query = "UPDATE users SET fname = '".$_POST['fname']."', lname = '".$_POST['lname']."' WHERE user_id = '".$_POST['id']."'";
    $result = mysql_query($query);
    if ($result) {
        die("<strong>Updated</strong>");
    } else {
        die("<strong>Error ".mysql_error()."</strong>");
    }
}
?>

这是我的表格:

<form class="form-horizontal" role="form" action="" method="post">
<input type="hidden" name="id" value="<?php echo $row['user_id']; ?>"/>
   <div class="form-group">
   <label class="col-lg-3 control-label">First name:</label>
   <div class="col-lg-8">
   <input class="form-control" name="fname" type="text" value="<?php echo $row['fname'];?>">
   </div>

  <label class="col-lg-3 control-label">Last name:</label>
  <div class="col-lg-8">
  <input class="form-control" name="lname" type="text" value="<?php echo $row['lname'];?>">
  </div>

 <label class="col-md-3 control-label"></label>
 <div class="col-md-8" >
 <input type="button" name="btnUpdate" class="btn btn-primary" value="Save Changes">
 <span></span>
 <input type="reset" class="btn btn-default" value="Cancel">
 </div>
</div>
</form>

我已尝试过所有内容,但不会更新我的数据库。当我在浏览器上检查它时,它没有任何错误。我的想法已经不多了。任何人都知道我的代码的哪一部分是错的?我还是php的初学者,我似乎无法理解这里有什么问题。任何想法如何解决这个问题将不胜感激。感谢

1 个答案:

答案 0 :(得分:3)

发布为社区维基;我觉得不应该有代表。

默认情况下,

recipients不会传播POST。因此,您需要使用&#34;提交&#34;类型:

<input type="button"><input type="submit">

参考文献:

<强>型
    按钮的类型。可能的值有:

  • submit:该按钮将表单数据提交给服务器。如果未指定属性,或者属性动态更改为空值或无效值,则这是默认值。
  • reset:该按钮将所有控件重置为初始值。
  • 按钮:该按钮没有默认行为。它可以具有与元素事件相关联的客户端脚本,这些事件在事件发生时触发。

如果您的网站已上线或打算上线,您还可以接受严格的SQL注入。

您应该开始考虑切换到<button type="submit">或PDO api以及准备好的声明。

参考文献: