Ich habe ein Problem, dass von meiner SQL-Anweisung. Wenn ich das Ergebnis zurückgebe, wird ein doppeltes Ergebnis (2 gleiche Ergebnisse) angezeigt.Doppeltes Ergebnis von MySql PHP
Das ist mein Code unten:
$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
}
?>
** WARNUNG **: Wenn Sie PDO verwenden, sollten Sie [vorbereitete Aussagen] (http://php.net/manual/en/pdo.prepared-statements.php) verwenden mit Platzhalterwerten und geben Sie Benutzerdaten als separate Argumente an. In diesem Code haben Sie möglicherweise schwerwiegende [SQL-Injektionsfehler] (http://bobby-tables.com/). Verwenden Sie niemals String-Interpolation oder Verkettung und verwenden Sie stattdessen [prepared statements] (http://php.net/manual/en/pdo.prepared-statements.php) und stellen Sie niemals $ _POST- oder $ _GET-Daten direkt in Ihre Abfrage. In [PHP The Right Way] (http://www.phptherightway.com/) finden Sie Hinweise zu diesem und anderen Problemen. – tadman
Sie haben entweder eine doppelte Zeile in Ihren Daten oder Sie erhalten doppelte Zeilen als Folge Ihrer Joins. Ohne Ihre Daten zu sehen, ist es unmöglich zu sagen. Zerlegen Sie Ihre Abfrage in der MySQL-Workbench oder der MySQL-Konsole in kleinere Teile, bis Sie sehen, welche Beziehung oder Tabelle das Problem ist. – Cfreak
Ich bin neugierig, warum Sie hier extract() verwenden. Es trägt nicht zu Ihrem Problem bei, aber es ist weder notwendig noch hilfreich im Rahmen Ihrer While-Schleife. – Difster