根据特定ID更新数据库

时间:2015-08-24 12:23:11

标签: php html mysql sql

我的数据库中有一个包含订阅的表,每个订阅都有一个名称,id和一个notes列。

我正在尝试允许用户通过网页上的文本区域更新备注列。所有订阅都在页面上的列表中,允许用户单击它们以查看特定订阅。

我如何确保更新的注释与他们点击的订阅的ID一致?

我目前有这段代码。

<form method="POST" action="noteAction.php">
  <textarea id="notes" name="noteValue">$notes</texarea>
  <input type="submit" name="submit"/>
</form>

这就是我认为我的noteAction.php应该看起来像我不能让它工作。

    mysql_connect ("host", "user", "password") or die ('Error: ' . mysql_error());

    mysql_select_db("database_name") or die ('Data error:' . mysql_error());

    $text = mysql_real_escape_string($_POST['noteValue']); 
    $query="UPDATE `subscription` SET `notes`= '$text' WHERE `id` = '$id'";

    mysql_query($query) or die ('Error updating database ' . mysql_error());

任何帮助都会很棒,谢谢。

2 个答案:

答案 0 :(得分:1)

当您在表单中添加注释时,在从数据库中检索到该注释后,您必须拥有该注释的ID。如果您只选择了该查询中的注释内容,也请选择该ID。然后在隐藏字段中传递ID,并且您具有在MySQL查询中使用的ID(这是正确的)。

<input type="hidden" name="note-id" value="note_id_here">

答案 1 :(得分:1)

使用隐藏元素将您的ID存储在其中。

 <form method="POST" action="noteAction.php">
   <textarea id="notes" name="noteValue">$notes</texarea>
   <input type="hidden" name="id" value="id" value="your id goes here" /> 
   <input type="submit" name="submit"/>
 </form>