微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-为什么只从我的数据库中提取1个表中的记录

我是编程新手.在我仍是学生的几个小时后,我似乎无法修复它,这是我的论文.

我正在尝试从两个表中获取记录

>囚桌
>探视表-该表具有囚犯ID外键,因此,如果我单击犯人,它也会显示其探视记录.

这是我的代码

<?PHP

include "connect.PHP";

$id = $_GET['id'];

$result = $connect->query(
    "SELECT * FROM prisoner                                                                
       INNER JOIN visitations ON prisoner.prisoner_id = visitations.prisoner_id
       WHERE prisoner.prisoner_id = $id"
) or die($connect->error);

$visit = $connect->query(
     "SELECT visitor,date_of_visit,time_of_visit,affinity,homeAddress FROM visitations 
        INNER JOIN prisoner ON prisoner.prisoner_id = visitations.prisoner_id 
        WHERE visitations.prisoner_id = $id"
) or die($connect->error);

主持人表

while($row = $result->fetch_assoc()){

    $id = $row['prisoner_id'];
    $photo = $row['photo'];
    $gname = $row['givenname'];
    $mname = $row['middleName'];
    $lname = $row['lastName'];
    $aname = $row['nickname'];

<div class="row text-center">
                <?PHP echo "<img style = 'width: 16%;height: 16%;margin-top:30px;'src='images/".$photo."' >";  
                        echo "<br><br>$gname $mname $lname";
                ?>
           </div>

            <?PHP

            echo "<div class='col-lg-3'>Nickname: $aname </div>";
}

参观

<h4>Visitations</h4>
            </div>

            <table border = 1>
            <tr>
                <th>Visitor Name</th>
                <th>Date of Visit</th>
                <th>Time of Visit</th>
                <th>Affinity</th>
                <th>Home Address</th>
            <tr>

            <?PHP


            while($row2 = $visit->fetch_assoc()){

                $v_visitor = $row2['visitor'];
                $v_date = $row2['date_of_visit'];
                $v_time = $row2['time_of_visit'];
                $v_affinity = $row2['affinity'];
                $v_address = $row2['homeAddress'];

            echo "
             <tr>
                <td>$v_visitor</td>
                <td>$v_date</td>
                <td>$v_time</td>
                <td>$v_affinity</td>
                <td>$v_address</td>
             </tr>

             </table>";

             }

它仅从访问表中获取记录,并且
                 我也不知道为什么其他记录不在HTML表中.

显示的是:

visitationtble

有人可以指出我的代码有问题吗

解决方法:

在这种情况下,每个连接只能使用一个活动语句,因此在继续进行新查询之前,您需要使用fetch_all消耗第一个查询的整个结果集.

$result1 = $connect->query(...)
$rows1 = $result1->fetch_all(MysqLI_ASSOC);

$result2 = $connect->query(...)
$rows2 = $result2->fetch_all(MysqLI_ASSOC);

foreach ($rows1 as $row) ...

foreach ($rows2 as $row) ...

还可以使用multi_query在单个批处理中执行多个查询.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐