首页  >  文章  >  后端开发  >  如何使用发布的表单数据更新 MySQL 中的多行?

如何使用发布的表单数据更新 MySQL 中的多行?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-06 02:10:03314浏览

How to Update Multiple Rows in MySQL with Posted Form Data?

使用 MySQL 中发布的表单数据更新多行

当处理需要更新数据库中多行的表单时,必须处理数据提交正确。本文介绍了一个特定场景,其中使用表单收集多张照片的信息(标题和标签)并更新 MySQL 数据库中的记录。

表单

该表单收集链接到特定图库 ID 的每张照片的数据。对于每张照片,它包括标题和标签的输入,以及照片 ID 的隐藏输入。此信息在处理表单时提交。

更新查询

更新查询旨在根据发布的数据更新每张照片的标题和标签。但是,当尝试将参数绑定到查询时,就会出现问题。

解决方案

解决此问题的关键是提交带有数组名称的输入字段,如下所示多个具有相同名称的字段不能作为单独的字段进行处理。通过将它们作为数组提交,我们可以循环发布的数据并使用相应的 ID 更新每一行。

调整后的代码

HTML 输入的修改后的代码片段字段如下:

<code class="html">echo "<input type='text' name='photo_title[]' value='$title' /><br />";
echo "<input type='text' name='photo_tags[]' value='$tags' />";
echo "<input type='hidden' name='photo_id[]' value='$id' />";</code>

更新查询循环的更新代码:

<code class="php">foreach ($_POST['photo_id'] as $key => $photo_id) {
    $id = $photo_id;
    $title = $_POST['photo_title'][$key];
    $tags = $_POST['photo_tags'][$key];

    $sql = "UPDATE photos SET title=?, tags=? WHERE id=?";
    $query = $db->prepare($sql);
    $query->execute(array($title, $tags, $id));
}</code>

通过将表单数据作为数组提交并迭代值,可以有效更新多个根据发布的信息在数据库中存储行。

以上是如何使用发布的表单数据更新 MySQL 中的多行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn