Php 如何在SQL查询中连接以从数据库获取变量?

Php 如何在SQL查询中连接以从数据库获取变量?,php,mysql,concatenation,string-concatenation,Php,Mysql,Concatenation,String Concatenation,作为一个初学者,我不喜欢连接,但我认为这对我来说是非常有用的。所以我有一个while语句,它从数据库中的表中获取数据。我正在使用while语句下面和中间的第二个查询来显示来自不同表的额外信息 <?php while($employeeproject=mysqli_fetch_array($resultemp)){ ?> <td data-th="Employee"> <!-- INNER JOIN EMPLOYEE TO GET NAMES --> &l

作为一个初学者,我不喜欢连接,但我认为这对我来说是非常有用的。所以我有一个while语句,它从数据库中的表中获取数据。我正在使用while语句下面和中间的第二个查询来显示来自不同表的额外信息

<?php while($employeeproject=mysqli_fetch_array($resultemp)){ ?>

<td  data-th="Employee">

<!-- INNER JOIN EMPLOYEE TO GET NAMES -->
<?php $sqlemps="SELECT first_name, last_name FROM employees INNER JOIN employeeprojects ON employees.employee_id=employeeprojects.employee_id";$resulempls=mysqli_query($db,$sqlemps);$displayempnames = $resulempls->fetch_assoc();?>

<?=$displayempnames['first_name'];?> <?=$displayempnames['last_name'];?>

</td>
<?php };?>

显然,这不起作用,所以如何连接?

无需连接

    $empID = $employeeproject['employee_id'];
    $sqlemps="SELECT first_name, last_name FROM employees INNER JOIN employeeprojects ON employees.employee_id=employeeprojects.employee_id WHERE employee_id= $empID";

您不应该将变量连接到查询,您应该参数化并绑定它们……但您不需要做任何事情。您可以通过使用多连接的一个查询来完成这一切

SELECT first_name, last_name, project_name, client_name
from projects as p
join employeeprojects as ep
on p.id = ep.project_id
joiN employees as e
on ep.employee_id  = e.employee_id 

演示:

这将永远不会运行。
SELECT first_name, last_name, project_name, client_name
from projects as p
join employeeprojects as ep
on p.id = ep.project_id
joiN employees as e
on ep.employee_id  = e.employee_id