不包含查询值的数组

时间:2016-02-06 15:43:30

标签: php sql arrays

我试图让数组包含两个值;技巧ID和描述。但是,当我打印数组的值时,它只显示Description。我怎样才能得到一个数组来显示两个?

$skillresult = $con->query("SELECT userskills.`SkillID`, `Description`, `Experience` FROM `User` INNER JOIN `userskills` ON User.`UserId` = userskills.`UserId` LEFT OUTER JOIN `Skills` ON userskills.`SkillID` = Skills.`SkillID` WHERE user.`UserID` ='$User'") 
    or die(mysqli_error($con));

    $skills_array = array();

    while($r=mysqli_fetch_array($skillresult))
    {
    if (!isset($skills_array[$r['SkillID']]))
    {
        $skills_array[$r['SkillID']] = array();
    }
    $skills_array[$r['SkillID']][] = $r['Description'];
}

打印输出:

Array ( [0] => Array ( [0] => Java ) [1] => Array ( [0] => Unix ) )

描述'Java'应该具有'1'和Unix'6'的技能ID。

1 个答案:

答案 0 :(得分:0)

$skills_array数组真的应该是二维的吗? 这不是你真正想要的吗?

Array ( 1 => Java, 6 => Unix)

在这种情况下,这可能有效:

while($r=mysqli_fetch_array($skillresult))
{
    $skills_array[$r['SkillID']] = $r['Description'];
}