Php 在另一个查询中使用查询中的值

Php 在另一个查询中使用查询中的值,php,mysql,Php,Mysql,我有一个问题 $result = mysql_query("SELECT * FROM comprofiler WHERE cb_playstationgames LIKE '%FIFA%' ORDER BY id ASC"); 在该查询中,有一个用户id,我需要在另一个表上执行查询 $gebruikerid = mysql_query("SELECT * FROM users where id LIKE '".$result['user_id']."'"); 现在我想在while循环中使

我有一个问题

 $result = mysql_query("SELECT * FROM comprofiler WHERE cb_playstationgames LIKE '%FIFA%' ORDER BY id ASC");
在该查询中,有一个用户id,我需要在另一个表上执行查询

$gebruikerid = mysql_query("SELECT * FROM users where id LIKE '".$result['user_id']."'");
现在我想在while循环中使用该值

echo "<table><tr><th width=\"300\" align=\"left\" >Avatar</th><th width=\"300\" align=\"left\">Naam</th><th width=\"200\" align=\"left\">PSN Naam</th></tr>"; 

while($row2 = mysql_fetch_array($result))
{
 echo "<tr><td><img height=\"50\" width=\"50\" src=\"/images/comprofiler/" . $row2['avatar'] . "\"></td><td>" . $gebruikernaam . "</td><td>" .     $row2['cb_psnnaam'] . "</td></tr>";
}
echo "</table>";   
echo“avatarnaampsnaam”;
while($row2=mysql\u fetch\u数组($result))
{
回声“$gebruikernaam.”“$row2['cb_psnnaam'”;
}
回声“;

我无法让查询根据第一个表的id从另一个表读取值。有人能帮我吗?

在你的情况下,最好的解决方案是使用JOIN

$result = mysql_query("SELECT comprofiler.*, users.* FROM comprofiler INNER JOIN users ON users.id = comprofiler.user_id WHERE cb_playstationgames LIKE '%FIFA%' ORDER BY comprofiler.id ASC");
如果两个表中的列名相同,并且两者都需要,则可能必须手动指定要选择的列(在选择之后)

$result = mysql_query("SELECT comprofiler.id as id_comprofiler, users.id as id_user, users.avatar ... " );

要回答您的问题,为什么它不起作用:

Second query does not use mysql_fetch_array.
$gebruikerid = mysql_fetch_array($gebruikerid);
如果您使用或使用MySQLi准备的语句,则会更加安全&更干净,如:

$db     = new \PDO(SEE PDO CUNSTRUCT)
$query1 = $db->prepare('
            SELECT * 
            FROM comprofiler 
            WHERE cb_playstationgames LIKE :fifa 
            ORDER BY id ASC
          ');

$query2 = $db->prepare('
             SELECT * FROM users where id LIKE :id
          ');

$query1->bindValue(':fifa', '%FIFA%', PDO::PARAM_STR);
$query1->execute();

while ($row = $query1->fetch(PDO::FETCH_ASSOC)) {
   $query2->bindParam(':id', $row['user_id'], PDO::PARAM_INT);
   $query2->execute();

   //Holds associative array of second query
   $row2 = $query->fetch(PDO::FETCH_ASSOC); 

   //$row1 holds associative array of first query
}

什么不起作用?或者“不起作用”是什么意思?或者谁是“不工作”?你期望发生什么?您应该使用准备好的语句来访问MySQLi或PDO,mysql_uu函数已被弃用。您没有获取第二个查询
gebruikeraam