我的数据库中有一个包含订阅的表,每个订阅都有一个名称,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());
任何帮助都会很棒,谢谢。
答案 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>