我的数据库中有两条记录,我想将它们打印出来。 所以我想这个:
<?php
$resDB = mysql_connect("localhost", "root", "");
mysql_select_db("xe", $resDB);
$aco = mysql_query("SELECT * FROM members WHERE member_id IN (SELECT member_id FROM pfields_content WHERE TRIM(field_12) IS NOT NULL) ");
while ($row = mysql_fetch_array($aco))
{
$query1 = mysql_query("SELECT member_id FROM pfields_content WHERE TRIM(field_12) IS NOT NULL LIMIT 1");
$memberID = mysql_fetch_row($query1);
echo $memberID[0];
echo '<br>';
}
?>
而不是两个记录(成员ID):
1 2
它打印第一条记录(会员ID)两次:
1 1
有人能帮助我吗?
答案 0 :(得分:1)
这两个查询之间没有相关性,因此您将得到两个结果,因为您的第一个查询找到两个匹配行,因此它循环两次,而从第二个查询开始,您将始终获得相同的值,因为每个循环执行一次。我建议删除第二个查询并直接打印第一个查询的结果,这样你就可以打印两个不同的id
$aco = mysql_query("SELECT * FROM members WHERE member_id IN (SELECT member_id FROM pfields_content WHERE TRIM(field_12) IS NOT NULL) ");
while ($row = mysql_fetch_array($aco))
{
echo $row['member_id']; // or whatever your column name is
}
否则,您可以使用第一个查询中的选定成员ID,并在第二个查询中使用WHERE
子句将结果限制为member_id = '$row['member_id']
。