这是我的问题,我有两个表,其中一个是连接(一列-团队ID,其他-人员ID),我从一个确切的团队中找到所有人员ID(此处为“ t1”),并将其放入数组中,这里一切正常。

$id1 = mysql_query("SELECT id FROM connections WHERE team='t1'");
$id11 = array();
while(($row =  mysql_fetch_assoc($id1))) {
    $id11[] = $row;
}

echo "";
print_r($id11);
echo "";


直到这里一切都OK,在print_r中,我看到了我想看到的数组项。但是从这里开始[粪便]发生了。我倾向于从'persons'表中选择人名,该表具有先前数组($ id11)的ID。最后,我得到一个空数组。

$kom1 = mysql_query("SELECT name FROM persons WHERE s_id IN('".join("','", $id11)."')");


//$kom1 = mysql_query("SELECT name FROM persons WHERE s_id IN(".implode(',',$id11).')'); //this one doesnt work too
$kom11 = array();
while(($row1 =  mysql_fetch_assoc($kom1))) {
$kom11[] = $row1;
}

echo "";
print_r($kom11);
echo "";


尝试了一切,请帮助我,谢谢。

最佳答案

直接在第二个查询中使用子查询:

SELECT * FROM blah WHERE boing IN (SELECT id FROM blah2 WHERE team=1337)


应该在每个不太理想的数据库中工作

08-24 14:01