【发布时间】:2012-10-16 01:48:15
【问题描述】:
这是我的问题,我有两张表,一张是连接(一列 - 团队 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 "";
直到这里一切正常,在 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 "";
什么都试过了,请帮帮我,谢谢。
【问题讨论】:
-
回显出来的 SQL 是什么样的?直接在数据库中运行是否有效?
-
保持语言简洁。绝对没有理由在这里使用这种措辞。另外,您没有错误处理-您确定查询正确执行吗?
$row1 = mysql_query(...) or die(mysql_error());。修复你的变量名。$kom1和$kom11只会在以后导致严重的混乱。
标签: php mysql arrays select where