如何使用PHP在一个表中显示来自两个不同MYSQL表的数据

如何使用PHP在一个表中显示来自两个不同MYSQL表的数据,php,mysql,Php,Mysql,运行下面的代码时,如何显示两个表中的数据。我有一个名为Passentials的表,我想从该表中选择一个fname并添加它,以便在输出html表中也显示它。我得到和错误警告:mysqli_stmt_bind_param希望参数1是mysqli_stmt,bool在C:\xampp\htdocs\aero\view_booked_tickets.php中给出,每次我尝试查询两个表时都会在第63行 <?php session_start(); ?> <

运行下面的代码时,如何显示两个表中的数据。我有一个名为Passentials的表,我想从该表中选择一个fname并添加它,以便在输出html表中也显示它。我得到和错误警告:mysqli_stmt_bind_param希望参数1是mysqli_stmt,bool在C:\xampp\htdocs\aero\view_booked_tickets.php中给出,每次我尝试查询两个表时都会在第63行

 <?php
        session_start();
    ?>
    <html>
        <head>
            <title>
                View Booked Tickets
            </title>
            <style>
                input {
                    border: 1.5px solid #030337;
                    border-radius: 4px;
                    padding: 7px 30px;
                }
                input[type=submit] {
                    background-color: #030337;
                    color: white;
                    border-radius: 4px;
                    padding: 7px 45px;
                    margin: 0px 390px
                }
                table {
                 border-collapse: collapse; 
                 margin-left: 10%;
                 margin-right: 10%;
                }
                tr/*:nth-child(3)*/ {
                 border: solid thin;
                }
                .set_nice_size{
                    font-size: 17pt;
                }
            </style>
            <link rel="stylesheet" type="text/css" href="css/style.css"/>
            <link rel="stylesheet" href="font-awesome-4.7.0\css\font-awesome.min.css">
        </head>
        <body>
            <img class="logo" src="images/shutterstock_22.jpg"/> 
            <h1 id="title">
                AADITH AIRLINES
            </h1>
            <div>
                <ul>
                    <li><a href="customer_homepage.php"><i class="fa fa-home" aria-hidden="true"></i> Home</a></li>
                    <li><a href="customer_homepage.php"><i class="fa fa-desktop" aria-hidden="true"></i> Dashboard</a></li>
                    <li><a href="home_page.php"><i class="fa fa-plane" aria-hidden="true"></i> About Us</a></li>
                    <li><a href="home_page.php"><i class="fa fa-phone" aria-hidden="true"></i> Contact Us</a></li>
                    <li><a href="logout_handler.php"><i class="fa fa-sign-out" aria-hidden="true"></i> Logout</a></li>
                </ul>
            </div>
            <h2>VIEW BOOKED FLIGHT TICKETS</h2>
            <h3 class='set_nice_size'><center><u>Upcoming Trips</u></center></h3>
            <?php
                $todays_date=date('Y-m-d');
                $thirty_days_before_date=date_create(date('Y-m-d'));
                date_sub($thirty_days_before_date,date_interval_create_from_date_string("30 days")); 
                $thirty_days_before_date=date_format($thirty_days_before_date,"Y-m-d");
                
                $customer_id=$_SESSION['login_user'];
                require_once('Database Connection file/mysqli_connect.php');
                $query="SELECT pnr,date_of_reservation,flight_no,journey_date,class,booking_status,no_of_passengers,payment_id FROM Ticket_Details where customer_id=? AND journey_date>=? AND booking_status='CONFIRMED' ORDER BY  journey_date";
                $stmt=mysqli_prepare($dbc,$query);
                mysqli_stmt_bind_param($stmt,"ss",$customer_id,$todays_date);
                mysqli_stmt_execute($stmt);
                mysqli_stmt_bind_result($stmt,$pnr,$date_of_reservation,$flight_no,$journey_date,$class,$booking_status,$no_of_passengers,$payment_id);
                mysqli_stmt_store_result($stmt);
                if(mysqli_stmt_num_rows($stmt)==0)
                {
                    echo "<h3><center>No upcoming trips!</center></h3>";
                }
                else
                {
                    echo "<table cellpadding=\"10\"";
                    echo "<tr><th>PNR</th>
                    <th>Date of Reservation</th>
                    <th>Flight No.</th>
                    <th>Journey Date</th>
                    <th>Class</th>
                    <th>Booking Status</th>
                    <th>No. of Passengers</th>
                    <th>Payment ID</th>
                    </tr>";
                    while(mysqli_stmt_fetch($stmt)) {
                        echo "<tr>
                        <td>".$pnr."</td>
                        <td>".$date_of_reservation."</td>
                        <td>".$flight_no."</td>
                        <td>".$journey_date."</td>
                        <td>".$class."</td>
                        <td>".$booking_status."</td>
                        <td>".$no_of_passengers."</td>
                        <td>".$payment_id."</td>
                        </tr>";
                    }
                    echo "</table> <br>";
                }
                echo "<br><h3 class=\"set_nice_size\"><center><u>Completed Trips</u></center></h3>";
    
                $query="SELECT pnr,date_of_reservation,flight_no,journey_date,class,booking_status,no_of_passengers,payment_id FROM Ticket_Details where customer_id=? and journey_date<? and journey_date>=? ORDER BY  journey_date";
                $stmt=mysqli_prepare($dbc,$query);
                mysqli_stmt_bind_param($stmt,"sss",$customer_id,$todays_date,$thirty_days_before_date);
                mysqli_stmt_execute($stmt);
                mysqli_stmt_bind_result($stmt,$pnr,$date_of_reservation,$flight_no,$journey_date,$class,$booking_status,$no_of_passengers,$payment_id);
                mysqli_stmt_store_result($stmt);
                if(mysqli_stmt_num_rows($stmt)==0)
                {
                    echo "<h3><center>No trips completed in the past 30 days!</center></h3>";
                }
                else
                {
                    echo "<table cellpadding=\"10\"";
                    echo "<tr><th>PNR</th>
                    <th>Date of Reservation</th>
                    <th>Flight No.</th>
                    <th>Journey Date</th>
                    <th>Class</th>
                    <th>Booking Status</th>
                    <th>No. of Passengers</th>
                    <th>Payment ID</th>
                    </tr>";
                    while(mysqli_stmt_fetch($stmt)) {
                        echo "<tr>
                        <td>".$pnr."</td>
                        <td>".$date_of_reservation."</td>
                        <td>".$flight_no."</td>
                        <td>".$journey_date."</td>
                        <td>".$class."</td>
                        <td>".$booking_status."</td>
                        <td>".$no_of_passengers."</td>
                        <td>".$payment_id."</td>
                        </tr>";
                    }
                    echo "</table> <br>";
                }
                mysqli_stmt_close($stmt);
                mysqli_close($dbc);
            ?>
        </body>
    </html>

注意:代码的详细程度明显降低,使代码更易于阅读和审核,并且不容易与过时的mysql_查询接口混淆,因为缺少一个i会造成麻烦。示例:$db=newmysqli…和$db->prepare…过程接口是PHP4时代的产物,不应在新代码中使用。此外,过程接口的错误检查和报告不够严格,这会阻碍调试工作。警告:mysqli_stmt_bind_param期望参数1为mysqli_stmt,bool given是这里被问得最多的PHP问题。在使用连接之前,请检查您的凭据并确保连接成功。提示:许多问题都可以通过网络检测和解决,因此简单错误导致的错误不容易被忽略。毫无例外,您必须密切关注返回值,其中许多表示您必须解决或向用户报告的问题。异常允许更复杂的流控制,因为它们可以“冒泡”到代码的其他部分,从而更方便地处理它们。注意:异常的详细程度大大降低,使代码更易于阅读和审核,并且不容易与过时的mysql_查询接口混淆,因为缺少一个i会造成麻烦。示例:$db=newmysqli…和$db->prepare…过程接口是PHP4时代的产物,不应在新代码中使用。此外,过程接口的错误检查和报告不够严格,这会阻碍调试工作。警告:mysqli_stmt_bind_param期望参数1为mysqli_stmt,bool given是这里被问得最多的PHP问题。在使用连接之前,请检查您的凭据并确保连接成功。提示:许多问题都可以通过网络检测和解决,因此简单错误导致的错误不容易被忽略。毫无例外,您必须密切关注返回值,其中许多表示您必须解决或向用户报告的问题。异常允许更复杂的流控制,因为它们可以“冒泡”到代码的其他部分,以便更方便地处理它们。