在php中从自联接检索行
我对表使用了自连接,但无法检索表行在php中从自联接检索行,php,sql,Php,Sql,我对表使用了自连接,但无法检索表行 $SQL1 = "SELECT e1.userid, e2.userid FROM userfield AS e1, userfield AS e2 WHERE e1.field5 = e2.field5 and e1.field5!=' ' and e2.field5!=' ' and e1.userid!=e2.userid"; $result2 = mysql_query($SQL1); while ($db_field2 = mysql_fetch
$SQL1 = "SELECT e1.userid, e2.userid
FROM userfield AS e1, userfield AS e2
WHERE e1.field5 = e2.field5 and e1.field5!=' ' and e2.field5!=' ' and e1.userid!=e2.userid";
$result2 = mysql_query($SQL1);
while ($db_field2 = mysql_fetch_assoc($result2)) {
print $dbfield2[userid];
}
当我执行这个代码时,它只显示空白页。当我在MSQL数据库中触发这个查询时,它返回了两个用户ID
任何帮助都将不胜感激$SQL1 = "SELECT e1.userid, e2.userid
FROM userfield AS e1, userfield AS e2
WHERE e1.field5 = e2.field5 and e1.field5!=' ' and e1.userid!=e2.userid";
$result2 = mysql_query($SQL1);
while ($db_row = mysql_fetch_assoc($result2)) {
print $db_row['e1.userid'];
}
另外,您不需要
和e2.field5!=''因为e2.field5
必须等于e1.field5
和e1.field5!='',所以WHERE
子句中的code>代码>您必须给他们这样的别名:
$SQL1 = "SELECT e1.userid AS userid1, e2.userid AS userid2
FROM userfield AS e1, userfield AS e2
WHERE e1.field5 = e2.field5 and e1.field5!=' ' and e1.userid!=e2.userid";
$result2 = mysql_query($SQL1);
while ($db_field2 = mysql_fetch_assoc($result2)) {
print $dbfield2['userid1'];
}
请考虑切换到PDO ODER MySQL。所有mysql_*函数都被正式标记为已弃用。1。避免在php脚本中使用mysql,因为不再有mantained,请改用PDO或mysqli。2.提供有关预期输出的更多信息在FROM userfield作为e1,userfield作为e2
子句中使用的默认联接是什么?这会对表的2个主键进行连接吗?i、 例如,从userfield作为e1加入userfield作为e1上的e2。userid=e2。userid
问题已解决,而不是fetch\u assoc我使用mysql\u fetch\u数组,它可以工作,用于回复。祝你好运不要使用[userid]
,使用['userid']
,这些字符串需要退出(当我们在开发时,启用完整的错误报告和显示错误,它会告诉您这一点)。