【问题标题】:How to display a MySQL table completely?如何完整显示一个 MySQL 表?
【发布时间】:2019-06-05 04:27:59
【问题描述】:

我正在尝试使用 PHP 显示 MySQL 表的全部内容。我希望代码能够完全显示表格,并且它应该适用于在我的数据库中创建的任何表格。

这个我试过了,还是不行。

<html>
<table>
<tr>
    <th>Col 1</th>
    <th>Col 2</th>
    <th>Col 3</th>
</tr>
<?php
        require "config.php";
        $strSQL = "SELECT * FROM MyGuests" or die(mysql_error($db));
        $rs = mysqli_query($db, $strSQL);
        while($row = mysqli_fetch_array($rs)) {
            echo "\t<tr><td>".$row['col1data']."</td> 
<td>".$row['col2data']."</td><td>".$row['col3data']."</td></tr>\n";
        }
        mysqli_close($db);
?>
</table>
</html>

它返回 Col 1 Col 2 Col 3。

【问题讨论】:

  • mysql_error 在这里不起作用...你不能混合使用 mysqli_ 和 mysql_ 代码
  • 尝试在$row:while($row = mysqli_fetch_array($rs,MYSQLI_ASSOC))中指明你想要的数组类型。
  • 另外or die... 代码应该与mysqli_query 在同一行...这可能会失败。在 PHP 中创建字符串不会导致 SQL 错误。

标签: mysql


【解决方案1】:

你提到

它应该适用于任何表...

如果您想显示所有列而不事先知道这些列将是什么,那么您需要遍历它们而不是显式命名它们,例如

while($row = mysqli_fetch_array($rs, MYSQLI_ASSOC)) {
  echo "<tr>";
  foreach ($row as $col)
    echo "<td>".$col."</td>";
  }
  echo "</tr>";
}

注意您可能还想提前获取列名,以便创建正确数量的表格标题单元格。有关如何执行此操作的建议,请参阅 https://stackoverflow.com/a/1526722/5947043

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-04
    • 2012-03-12
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    相关资源
    最近更新 更多