php - 通过 PHP 访问 Joomla 用户组的问题
问题描述
作为一个新手,我正在努力调用一个变量,我有一个带有 WHERE 子句的 MySQL SELECT 查询:
WHERE table_name.j_group_id IN ('".$jgroup."')
但它不返回任何结果。table_name.j_group_id 是 11,如果我 print_r 它返回 $jgroup 数组:
数组( [0] => 1 [1] => 8 [3] => 2 [4] => 11 )
所以 11 在数组内,但为什么它不起作用?
如果我将 SELECT 查询更改为:
WHERE table_name.j_group_id IN (2, 11, 14, 18) it works as expected.
就像背景一样, $jgroup 返回 Joomla 用户授权组。我为每个团队创建了组,组 ID 已手动添加到表中的用户详细信息中,当团队管理员登录时,他们的组 ID(从 $jgroup 中获取)将匹配他们的团队成员(相同的组 ID ) 并且他们将可以访问他们的内容。这样我就可以有一个可编辑的页面,所有经理都可以访问,但只会显示该经理下的员工。
在此先感谢,我希望这是有道理的!
解决方案
问题可能是由数组的格式引起的。
您可以尝试在将数组添加到查询中之前对其进行结构化。
$jGroupList = implode(",",$jgroup);
$query .= "WHERE table_name.j_group_id IN (".$jGroupList.")
对于调试类似的东西,打印出实际查询总是有帮助的,您的代码会创建一个测试。
推荐阅读
- android - 浓缩咖啡意图验证:“匹配 0 个意图”,但“记录的意图”
- c# - 如何从 C++ UWP App 引用 C# UWP 类库
- javascript - 如何通过单击按钮删除 HTML 元素,然后再次添加它
- php - Symfony 如何获取内核/内核接口
- python - Python,Dask - 使用来自另一个模块的函数并映射到 Dask Dataframe
- java - 无法将数组传递给 Spring Boot Java
- python - 我无法将列表转换为 numpy 数组
- powershell - Powershell - 在脚本中设置文本的默认字体颜色
- node.js - 从 Firebase VerifyToken 获取用户显示名称
- python - 为预测集群创建一个新列:SettingWithCopyWarning