首页 >后端开发 >php教程 >如何使用表单更新 MySQL 数据库中的多行?

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

DDD
DDD原创
2024-11-05 14:59:02420浏览

How to Update Multiple Rows in a MySQL Database Using a Form?

使用 MySQL 发布表单并更新多行

问题:

您已创建一个表单检索具有特定图库 ID 的所有照片,并允许用户更新其标题和标签。但是,当前代码不会更新数据库中的任何行。

表单结构:

表单生成一个 HTML 照片列表,其中包含用于更新其照片的输入字段标题、标签和用于识别 ID 的隐藏字段。

更新查询:

更新查询会迭代每个提交的表单,并为每张照片执行单独的 UPDATE 语句。但是,按照编码,查询无法正确访问表单数据。

解决方案:

要成功更新多行,需要提交表单数据作为数组并在更新查询中循环遍历它们。

表单更新:

修改输入字段以将值作为数组提交:

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' />";

更新查询重写:

迭代提交的表单数据数组:

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));
}

此更新的代码将正确循环提交的表单数据,提取更新的值,并对每张照片执行 UPDATE 语句,成功更​​新 MySQL 数据库中的多行。

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

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