1

名为“db2011”的 MySQL 数据库有几个表。

使用php变量$tablename(表名正确,表存在于db中),如何在html页面显示“db2011”.$tablename中的数据?

可以通过仅执行 1 个查询来完成 - 通过 $tablename 选择所有数据吗?

我认为它可以分两步完成,但我在问任何更好的解决方案(以防万一这个不好):

  • Step1:通过执行 "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='db2011' AND TABLE_NAME='".$tablename."'" 获取列名;

  • 第 2 步:使用 SELECT + 以逗号分隔的列列表 FROM $tablename? 构建并执行查询?

PS 我知道要在 html 页面上显示的数据可能很大。我将其限制为 100 行。

还有更好的方法吗?

谢谢你。

4

2 回答 2

3

我假设您在 PHP 中执行此操作。它可能并不优雅,但它可以在一个查询中得到它。我认为您想在一个查询中显示表列以及数据。

<?php

$sql = "SELECT * FROM $tablename";
$res = mysql_query($sql);
$firstpass = TRUE;
while($row = mysql_fetch_assoc($res)){
    if($firstpass){
        foreach($row as $key => $value) {
           //store all the column names here ($key)
           $firstpass = FALSE;
        }
    }
    //Collect all the column information down here.
}
?>
于 2011-11-18T20:54:33.103 回答
2

为什么不只是SELECT * FROM $tablename limit 100;

您将在结果集中获得所有列名。除非您还需要网页上的列类型,否则我会选择

于 2011-11-18T20:48:07.297 回答