MySQL麻烦。我该怎么办?

时间:2014-04-06 05:27:52

标签: php mysql sql

我怎样才能使代码

$requests = mysql_query("SELECT * FROM friend_reqs WHERE user_to={$_SESSION['user']['user_id']}");<br />
$users = mysql_query("SELECT user_name, user_pic FROM users WHERE user_id={?}");

>echo "`<h2>Pending Requests</h2>`";

>echo "`<center><table class='squish'>";
  if(mysql_num_rows($requests) >= 1){
    while($un = mysql_fetch_assoc($users)){
        echo "<tr><form action='' method='post'>";
            echo "<img src='https://www.mastergamersocial.com/user_pics/".$un['user_pic']."' alt='".$un['user_name']."' width='50px' height='50px' />".$un['user_name'];
            echo "<input class='a-button' type='submit' value='Accept' name='yes' />";
            echo "<input class='a-button' type='submit' value='Decline' name='no' />";
        echo "</form><br /></tr>";
    }
  } else {
    echo "<tr><h3>You have no friend requests.</h3></tr>";
  }
echo "</table></center>";

对于草率的代码感到抱歉。我需要得到它,以便从发送请求的用户中提取user_id和name。但除非我稍后调用查询,否则我无法弄清楚如何获取它。但我需要在查询时调用它。

1 个答案:

答案 0 :(得分:2)

根据您的评论总结,如果您需要来自user_from的{​​{1}}的第一个值,您只需在查询后获取第一条记录,然后将其插入第二条记录中,如:

$requests

现在,如果您的$requests = mysql_query("SELECT * FROM friend_reqs WHERE user_to={$_SESSION['user']['user_id']}"); $row = mysql_fetch_assoc($requests); $from_user = $row['user_from']; $users = mysql_query("SELECT user_name, user_pic FROM users WHERE user_id={$from_user}"); 正在返回多条记录,并且您希望对每个$requests值执行$users。然后,您必须循环运行第二个查询。

您可以通过不同的变量多次获取一个查询,如果这是您不清楚的内容。

注意:

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial