我的 SQL 语句遇到问题。当我回显结果时,会出现重复的结果(2 个相同的结果)。
这是我的代码:
$stmt = $DB_con->prepare("SELECT * FROM applicantpersonaldetails apd "
. "LEFT JOIN employementdetails ed ON apd.ApplicantID = ed.ApplicantID "
. "LEFT JOIN sourceoffunds sof ON apd.ApplicantID = sof.ApplicantID "
. "LEFT JOIN existingbankproducts ext ON apd.ApplicantID = ext.ApplicantID "
. "WHERE apd.AccountID ='{$accountId}' AND applicantType ='main';");
$stmt->execute();
if ($stmt->rowCount() > 0) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
extract($row);
echo $row['EmploymentStatus'];
?>
<?php
}
} else {
?>
<div class="">
<div class="alert alert-warning">
<span class="glyphicon glyphicon-info-sign"></span> No Data Found ...
</div>
</div>
<?php
}
?>
最佳答案
可能是我错了,请考虑一下。
第一:
AND applicationType ='main'
- 这一部分看起来很可疑,因为它没有定义其表,因此,应该对“未知列
”进行投诉
第二:
当您应用的查询找到多个结果时,通常会出现多个结果。你的询问根本不排除这种情况。首先,您使用SELECT *
- 这意味着查找全部。其次,您不使用LIMIT
,这也意味着查找全部。最后,使用SELECT DISTINCT
,这可以消除重复项。
https://dev.mysql.com/doc/refman/5.7/en/distinct-optimization.html
另外:
使用var_dump()
进行调试。
希望这会有所帮助。
关于php - MySql php 的重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024918/