PHP 在不知道有多少列的情况下显示所有 MySQL 列

标签 php mysql

我需要一些 PHP 代码来以逗号分隔、每行一行、格式显示所有列(不引用有多少列或它们的名称)。
我是新手,只处理过按名称引用列的示例:

$result = mysql_query("select * from table1");

while($row = mysql_fetch_array($result))
{
    echo $row["field1"].','.$row["field2"];
}

在上面的代码中,我可以创建一个基于列数的循环回显命令(我如何获得这个值?)来打印所有列——如果我可以在输出的第一行显示列名,很好,但这不是必需的。或者,是否有特定的命令可以达到相同的结果?

我认为答案是 foreach($row as....) - 但不确定从那里去哪里。

最佳答案

是的,你可以做一个 foreach,但如果你只想以 CSV 样式显示你的值,你可以这样做:

$firstRow = true;
while($row = mysql_fetch_array($result))
{
    if ($firstRow) {
        $firstRow = false;
        $columns = array_keys($row);
        // prints all the column names
        echo implode(',', $columns);
    }

    // print all the values
    echo implode(',', $row);
}

如果你想更好地控制你的输出,你可以使用 foreach :

while($row = mysql_fetch_array($result))
{
    foreach ($row as $column => $value) {
        echo $column.' : '.$value."\n";
    }
}

关于PHP 在不知道有多少列的情况下显示所有 MySQL 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30062832/

相关文章:

javascript - 如何使用 ajax 将 html 值保存到 MySQL?

php - 文本未提交至数据库

php - 使用 SUM 的 ZF2 自定义数据库查询

MySQL Workbench 不接受 JSON 文件(错误 1290)

mysql - 对多个表执行mysql查询

php - 从android中的mysql数据库中检索edittext中的数据

php - 如何在 php 中匹配水平椭圆 (...)

php - MySQL获取另一个表中的所有行的计数,其中值等于当前表中的列

php - PDO 有效 SELECT 和 INSERT

mysql - 选择仅用双反斜杠转义的单引号记录