php - 没有显示数据 MySql php

标签 php mysql sql database

我现在遇到的问题是,如果我的 MySql 表中有数据,我将获得重复的数据。但是,如果我的一张表为空,则无法显示所有数据。

这是我的代码:

$stmt = $DB_con->prepare("SELECT * FROM applicantpersonaldetails apd "
        . "JOIN employementdetails ed ON apd.ApplicantID = ed.ApplicantID "
        . "JOIN sourceoffunds sof ON apd.ApplicantID = sof.ApplicantID "
        . "JOIN existingbankproducts ext ON apd.ApplicantID = ext.ApplicantID "
        . "WHERE apd.AccountID ='{$accountId}' AND applicantType ='joint1';");        

$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> &nbsp; No Data Found ...
        </div>
    </div>
    <?php
} 

最佳答案

如果您想要所有行,甚至不匹配的行,请使用LEFT JOIN:

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 = 'joint1';

注意:尚不清楚 applicantType 来自哪个表。如果它不是来自 apd,那么您可能希望将其包含在适当的 ON 子句中,而不是包含在 WHERE 子句中。

关于php - 没有显示数据 MySql php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024511/

相关文章:

php - 来自 MySQL 数据库的字符串中的引号,变成 � 标记 (PHP)

php - 通过 php 的 SQL 语法错误

sql - 获取最近的邻居并在之后排序

javascript - (WordPress/Ajax) 引用错误 : Can't find variable: ajaxobject

Javascript SELECT BOX 选项依赖于所选的其他 SELECT BOX 选项

php - 用查询生成器/原始 MySQL 编写的查询之间有区别吗?

mysql - 具有不同值的多个表上的 SQL 左连接

javascript - Symfony - 如何使用 JavaScript 变量作为 Symfony 路由中的参数值?

mysql - 在 activerecord 中可能使用连接将两个 SQL 查询减少为一个

sql - 识别单行子查询错误