- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试更新我的应用程序中用户角色的权限。一切都按照我想要的方式工作,直到我想将更改插入我的数据库。
$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/
我有一个多选字段 1 Months 2 Months 3 Months 我的 PHP 代码内爆多个值,即 123 作为 1,2,3 并将其插入数据库。问题是该字段不是必填字段,当我将其留空时会出现
片段: $temp = array(); foreach ($data as $key => $value) { // This line varies, from HTML to URLs,
我有一个带有查询的脚本,该查询使用连接从两个单独的表中的数据库收集信息。现在我想将这 2 个数组及其值并排插入到一个新表中。 $query = "INSERT INTO `new_table`
我需要从一个表中选择所有电子邮件地址,但通过 ; 对它们进行内爆。我是否可以仅使用单个 MySQL 查询来执行此操作? 最佳答案 是的, 与 GROUP_CONCAT .但您应该知道,默认的最大返回长
我还是 PHP 的初学者。所以我有一个名为“全名”的变量,我试图 explode 和内爆第一个和最后一个变量值。 $fullname='Andre Filipe da Costa Ferreira';
这个问题在这里已经有了答案: Implode a column of values from a two dimensional array [duplicate] (3 个答案) 关闭 4 个月前
内爆一个简单的数组 看起来像这样 $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $arra
我有一个 php 表单,它有一个复选框选项,如果用户选择“其他”,则会出现一个文本输入。这运行良好,但未提交数据。我收到错误消息 PHP implode():传递的参数无效 这是: PHP验证 if(
我的 js 文件中有一个数组。在用户选择他喜欢的座位后,数组中的数据创建就完成了。 然后我将它发送到一个php文件中进行显示。javascript代码如下所示。 $('#btnsubmit').cli
我有一个数组 $array = array("连衣裙","套装"); 当我尝试使用 phpredis 制作 BITOP 时 $value = implode(",",$array); $redis->
我选择了 (2) 个元素,通过以下方式选择: $(this).parents("tr:first").children("td").children("span"); 当我这样做时: $(this).
以下脚本生成包含所需数据的 txt 文件,但它在文本文件中生成了两次数据。 mysql_connect($hostname_MySQLCon, $username_MySQLCon, "") or
以下脚本生成包含所需数据的 txt 文件,但它在文本文件中生成了两次数据。 mysql_connect($hostname_MySQLCon, $username_MySQLCon, "") or
假设我有两个字符串要用定界符“连接”。 String s1 = "aaa", s2 = "bbb"; // input stringsString s3 = s1 + "-" + s2; // joi
implode() 函数适用于普通数组,但不适用于使用 mysql_fetch_array 创建的数组(我也试过 mysql_fetch_row) 如何让它们工作? 定义如上: $friends =
我有以下查询尝试在 CodeIgniter 中更新: $sql = "UPDATE fanout.manual_data SET call_leader_id = ?
现在已经为此苦苦挣扎了一段时间,可能很简单...... 我在尝试提交联系表单时不断收到以下错误 Warning: implode() [function.implode]: Invalid argum
我收到以下错误... 警告:implode() [function.implode]:在第 1335 行的\wp-content/themes/mytheme/functions.php 中传递的参数
我需要在客户端将一些 PHP 转换为 javascript。 有人能给我指出这句话的正确翻译吗?如果需要外部库也没有问题。 $a = pack("A32", "foobar"); $b = implo
我有以下数组 $appArray=array('a', 'b', 'c'); 我想生成类似'a\nb\nc\n' 的输出。问题是当我使用 implode('\n', $appArray) 我得到 'a
我是一名优秀的程序员,十分优秀!