我有第一个问题
<?php
while($empsheetpanel=mysqli_fetch_array($resultempsheets)){
?>
为了从第一个查询中获取数据,我放置了第二个查询
<?php
$sql="SELECT * From my_table WHERE id="$empsheetpanel['employee_id']" ";
$result=mysqli_query($db,$sql);
?>
<?php } ;?>
我知道这是不恰当和不正确的。从第一个查询中检索 $empsheetpanel['employee_id']
的正确语法是什么?
最佳答案
您需要使用 .
来连接字符串:
$sql="SELECT * From my_table WHERE id=" . $empsheetpanel['employee_id'];
或者你可以使用字符串插值:
$sql="SELECT * From my_table WHERE id={$empsheetpanel['employee_id']}";
但更好的解决方案是不要将此作为循环中的单独查询来执行。将此表与您的原始查询结合起来。
因此,如果您的第一个查询是:
SELECT * FROM my_other_table WHERE some conditions here
您可以将它们连接在一起:
SELECT *
FROM my_other_table
JOIN my_table ON my_table.id = my_other_table.employee_id
WHERE some conditions here
此结果的每一行都将包含两个表中数据的组合。如果 my_table
可能没有匹配的行,您应该使用 LEFT JOIN
而不是 JOIN
。
关于php - 如何在查询中使用 while (foreach) 语句中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43132266/