gpt4 book ai didi

php - 如何将内爆数组插入数据库?

转载 作者:行者123 更新时间:2023-11-29 05:23:50 27 4
gpt4 key购买 nike

我正在尝试更新我的应用程序中用户角色的权限。一切都按照我想要的方式工作,直到我想将更改插入我的数据库。

    $permission = $_POST['permission'];
$permissiondb = implode(",", $permission);

print_r($permission)
print_r($permissiondb);

权限打印显示:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 6 [4] => 5 [5] => 4 )

permissiondb 打印显示:

1,2,3,6,5,4

我的数据库查询是:

INSERT INTO give_permissions (userrole, permission_id) VALUES ($userrole, $permissions);

当我将值发送到我的数据库时,它会在所需的用户角色中插入一个“0”,但取而代之的是我希望系统为用户角色设置所有权限。

我希望我为您提供了足够的代码来帮助我...有人可以帮助我吗?

最佳答案

您有一个存储在 permission_id 中的 ID 列表,这表明它的设置采用单个整数?因此,id 列表将不起作用。

a) 将您的数据类型更改为 varchar 并将 $permissions 包装为“$permissions”。

通过使用此方法,您会坚持使用 implode(",", $permissions) 但还有更好的方法。

// Your example with modifications
$permission = $_POST['permission'];
$permissiondb = implode(",", $permission);
// INSERT INTO give_permissions (userrole, permission_id)
// VALUES ($userrole, '$permissiondb');

b) 将您的数据类型更改为 varchar 并使用“json_encode($permissions)”- 这将是许多人更喜欢的快捷方式。

当您使用 json_encode() 时,您可以以更易于管理的方式存储它。当您对其进行编码时,您将收到一个格式为 [{1},{2},...] 的字符串,您可以将其很好地放入表格中。

那么稍后当您想要检索该权限列表时怎么办?你使用 json_decode($permissions) 然后会给你一个 JSON 数组。为了您的目的,更容易将该 json 数组转换为标准数组 (array)json_decode($permissions),它将采用 [{}] 字符串并为您提供一个完美的标准数组(1,2,3,...)。

// Your example with modifications
$permission = $_POST['permission'];
$permissiondb = json_encode($permission);
// INSERT INTO give_permissions (userrole, permission_id)
// VALUES ($userrole, '$permissiondb');

c) 设置一个对应的表来获取每个 ID 并将它们链接起来。 - 这将是完美的理想。

关于php - 如何将内爆数组插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22554721/

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