如何修复导致PHP中的“ 502:错误的网关”错误的表

时间:2019-05-29 21:30:57

标签: php database phpstorm crud

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

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

    <?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错误。

2 个答案:

答案 0 :(得分:0)

尝试一下

<?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实际上应该仅具有数据库配置...

答案 1 :(得分:0)

您正在关闭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>";
    ?>