我在 MySQL Workbench 中有一个查询,在执行时可以完美地工作。当我在我的网站上用 PHP 运行它时,子查询的列显示为空白。
<?php
$sql_query = "SELECT PROJECTNOID, ProjectNumber, (SELECT StatusHold FROM
tblProjectStatus WHERE ProjectStatus = PROJECTSTATUSID), EnteredDate FROM
tblProjects ORDER BY PROJECTNOID";
为了简单起见,我删除了其他四个子查询。
echo $sql_query;
$resultset = mysqli_query($conn, $sql_query) or die("database error:".
mysqli_error($conn));
while($developer = mysqli_fetch_assoc($resultset)){
?>
<tr id="<?php echo $developer ['PROJECTNOID']; ?>">
<td><?php echo $developer ['PROJECTNOID']; ?></td>
<td><?php echo $developer ['ProjectNumber']; ?></td>
<td><?php echo $developer ['ProjectStatus']; ?></td>
<td><?php echo $developer ['CustomerProjectLeadID']; ?></td>
<td><?php echo $developer ['MGEProjectLeadID']; ?></td>
<td><?php echo $developer ['ProjectStatusNumberID']; ?></td>
<td><?php echo $developer ['ProjectTitle']; ?></td>
<td><?php echo $developer ['SubmittedDate']; ?></td>
<td><?php echo $developer ['StartDate']; ?></td>
<td><?php echo $developer ['CompletionDate']; ?></td>
<td><?php echo $developer ['Follow-Up']; ?></td>
<td><?php echo $developer ['Comments']; ?></td>
<td><?php echo $developer ['ProjectEnteredBy']; ?></td>
<td><?php echo $developer ['EnteredDate']; ?></td>
</tr>
<?php } ?>
预期输出:
如果没有子查询,第 3、4、5 和 6 列将显示为数字。
最佳答案
这可能是因为缺少别名,例如。尝试类似:
SELECT PROJECTNOID, ProjectNumber, (SELECT StatusHold FROM
tblProjectStatus WHERE ProjectStatus = PROJECTSTATUSID) AS StatusHold, EnteredDate FROM
tblProjects ORDER BY PROJECTNOID
第二点,目前还不清楚您想要实现什么目标,但最好使用联接而不是子查询。
关于php - 子查询在 MySQL Workbench 中工作,但在 PHP 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50843174/