连接同一数据库中的一个完整表和另一个表中的一列并用 PHP 显示

我有两个 php 文件:index.php 显示带有复选框的 test_data 表。search.php 将从index.php 表中查询选定的复选框,并从另一个名为directory 的pdf_report 表中添加一列。我的代码如下:


<?php

    $conn = mysqli_connect($servername, $username, $password, $database);

    if(isset($_POST['submit'])){

      if(!empty($_POST['checkbox_id'])){

        $data = implode("','",$_POST['checkbox_id']);

        $stmt = $conn-> prepare("SELECT  test_data.*,

                                         pdf_report.directory

                                FROM test_data

                                INNER JOIN pdf_report ON test_data.test_id=pdf_report.test_id WHERE test_data.test_id IN ('$data')");

        $stmt->execute();

        $result = $stmt-> get_result();

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

          echo "<tr>

                  <td> ".$row["test_id"]." </td>

                  <td> ".$row["can_udp_data_path"]." </td>

                  <td> ".$row["video1_path"]." </td>

                  <td> ".$row["video2_path"]." </td>

                  <td> ".$row["video3_path"]." </td>

                  <td> ".$row["video4_path"]." </td>


                  <td><div>

                        <button class='edit' id='" . $row['test_id'] . "'  >Run</button>

                      </div></td>


                  <td> ".$row["directory"]." </td>




                </tr>";

        }

      }else {

        echo '<span style="color:#ff0000;text-align:center;">No Test ID Selected!</span>';

      }

    }



    // Close connection

    mysqli_close($conn);

  ?>

我收到以下错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 3 行“FROM test_data INNER JOIN pdf_report ON test_da”附近使用的正确语法。


四季花海
浏览 60回答 1
1回答

饮歌长啸

您需要删除“pdf_report.directory”之后、FROM 之前的逗号。
打开App,查看更多内容
随时随地看视频慕课网APP