gpt4 book ai didi

php - 如何从 PHP 数组插入多个 MySQL 表行

转载 作者:行者123 更新时间:2023-11-30 23:05:34 24 4
gpt4 key购买 nike

我是 PHP 和 MySQL 的新手,我有一项相当复杂的任务要完成以我目前的专业知识。它是这样的:

我正在尝试使用手工制作的 CMS 创建一个数据驱动的网站,允许不了解网页设计/网页开发的用户来管理它。当我尝试创建一个查询来处理插入到数据库中的数据时,我遇到了困难。这是一家书店,我在数据库中插入书籍。我想创建 3 个表,一个用于存储书籍本身,一个用于存储这些书籍所属的类别(例如文学、神秘、幻想等),并且由于这两个表之间的关系是多对多关系,我还创建了一个查找表来链接这两个表,使用 2 列填充了 2 个外键,代表两个表的 ID。

问题是我找不到如何在一列和不同的第二列(类别 ID)上插入具有相同 ID(图书 ID)的多行。类别将通过复选框以 HTML 形式选取。我在这里的几篇文章中看到我需要在 PHP 脚本中创建一个数组来存储用户选择的复选框中的数据,但是我完全不知道如何构建将这些复选框转换为多个 MySQL 表行的查询.

我见过有人建议将值内爆,但这会在一行中存储多个值,还是我弄错了?因为这不是我想要的,所以我希望(如果用户选中了 3 个类别复选框)在查找表中创建 3 行。

提前感谢您抽出时间来看我的问题。

最佳答案

$categories = array(1,2,3,4);
$bookId = 5;

foreach ($categories as $categoryId) {

$data = array(
'book_id' => (int)$bookId,
'category_id' => (int)$categoryId
);

$query = "INSERT INTO `lookup` SET ";
$fields = array();
foreach ($data as $field => $value) {
$fields[] = "`$field` = '$value'";
}
$fields = implode(', ', $fields);
$query .= $fields;

mysql_query($query);
}

关于php - 如何从 PHP 数组插入多个 MySQL 表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22064426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com