<?php
mysql_connect("localhost","root","");
mysql_select_db('db2012');
$uid = 8;
$mid = 10;
$q = mysql_query("select friend from users_friends where user = $uid") or die(mysql_error());
if(mysql_num_rows($q) > 0)
{
while($r=mysql_fetch_array($q))
{
$qq = mysql_query("select friend from users_friends where user = $mid") or die(mysql_error());
while($rr = mysql_fetch_array($qq))
{
if($r[friend]==$rr[friend])
{
$friend_name_query = mysql_query("select name from users where uid = '$rr[friend]'") or die();
$friend_name = mysql_fetch_array($friend_name_query);
echo $friend_name[name];
}
}
}
}
?>
这个查询正在工作,但任何其他出路使用较少的查询? IMA初学编程的,请让我知道如果有NE THNG ...此查询选择MUTUAL FRIEND是否正确?
第3行你有一个单引号和一个双引号只是一个快速观察。 – Simon 2012-08-06 08:39:08
如果您在循环中运行数据库查询,很可能是错误的方式。您应该了解[SQL'JOIN's](http://www.tizag.com/sqlTutorial/sqljoin.php)。我修正了@Simon提到的引用问题,因为我猜这是一个复制/粘贴错误,否则你会抱怨解析错误。 – DaveRandom 2012-08-06 08:41:14
@Simon - 认为这只是问题中的一个错字,OP说他的代码正在工作,但问是否有更高效的方式来实现相同的结果。 – martincarlin87 2012-08-06 08:41:46