【问题标题】:How to fix a table causing "502: Bad Gateway" error in PHP如何修复在 PHP 中导致“502:Bad Gateway”错误的表
【发布时间】:2019-05-29 21:30:56
【问题描述】:

我正在创建一个简单的数据库,它可以使用 php 执行基本的 CRUD 操作(创建、读取、更新、删除)。如果我直接在后端查询 mySQL DB,我能够完成创建,并且能够看到结果。但是,我无法让表格显示在网页上。如果我尝试显示数据库条目,则会显示“Bad Gateway”错误。

我尝试删除对表格的引用,特别是

    <?php while ($row = mysqli_fetch_array($results)) { ?>
            <tr>
                <td><?php echo $row['name']; ?></td>...

前端的网页运行良好。尽管只有在我查询后端时才能看到数据。

    <?php  include('php_code.php'); ?>
    ...
    ...
    ...

    <?php $results = mysqli_query($db, "SELECT * FROM info"); ?>

    <table>
        <thead>
        <tr>
            <th>Name</th>
            <th>Address</th>
            <th>City</th>
            <th colspan="2">Action</th>
        </tr>
        </thead>

        <?php while ($row = mysqli_fetch_array($results)) { ?>
            <tr>
                <td><?php echo $row['name']; ?></td>
                <td><?php echo $row['address']; ?></td>
                <td><?php echo $row['city']; ?></td>
                <td>
                    <a href="test.php?edit=<?php echo $row['id']; ?>" 
    class="edit_btn" >Edit</a>
                </td>
                <td>
                    <a href="php_code.php?del=<?php echo $row['id']; ?>" 
    class="del_btn">Delete</a>
                </td>
            </tr>
        <?php } ?>
    </table>

    <!--in php_code.php--> 
     //to retrieve records
        $select_query = "SELECT * FROM info";
        $result = mysqli_query($db, $select_query);

我应该能够看到包含姓名、地址和城市数据的表格。但我收到了 502 错误。

【问题讨论】:

  • 您找到解决方案了吗?我的也差不多。

标签: php database phpstorm crud


【解决方案1】:

试试这个

<?php
  include('php_code.php');
  $results = mysqli_query($db, "SELECT * FROM `info` ");

  $return = <<<HTML
    <table>
        <thead>
        <tr>
          <th>Name</th>
          <th>Address</th>
          <th>City</th>
          <th colspan="2">Action</th>
        </tr>
        </thead>
        <tbody>
HTML;

  while ($row = mysqli_fetch_array($results)) {
    $return .= <<<HTML
      <tr>
        <td>{$row['name']}</td>
        <td>{$row['address']}</td>
        <td>{$row['city']}</td>
        <td><a href="test.php?edit={$row['id']}" class="edit_btn" >Edit</a></td>
        <td><a href="php_code.php?del={$row['id']}" class="del_btn">Delete</a></td>
      </tr>
HTML;
  }

  $return .= <<<HTML
      </tbody>
    </table>
HTML;

  echo $return;

?>

你的 php_code.php 应该只有数据库配置...

【讨论】:

    【解决方案2】:

    您正在关闭 php 语句,因此您无法检索查询结果。不要拆分 php 部分,而只是像这样回显 html

     <?php
        echo " <table>
                <thead>
                <tr>
                    <th>Name</th>
                    <th>Address</th>
                    <th>City</th>
                    <th colspan='2'>Action</th>
                </tr>
                </thead> ";
       while ($row = mysqli_fetch_array($results)) { 
    
                    echo "<tr>
                    <td>$row['name']</td>
                    <td>$row['address']</td>
                    <td> $row['city']</td>
                    <td>
                    <a href='test.php?edit=$row['id']' 
                    class='edit_btn' >Edit</a>
                    </td>
                    <td>
                    <a href='php_code.php?del=$row['id']' 
        class='del_btn'>Delete</a>
                    </td>
                </tr>";
           }
        echo "</table>";
        ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      • 2016-06-15
      相关资源
      最近更新 更多