2

我在外部域上有一个 mysql 数据库。服务器上未安装 Phpmyadmin。我既不知道表名也不知道列名。有没有办法以某种方式在 PHP 中创建一个视图,向我显示数据库中包含所有列和表名的所有内容?

4

3 回答 3

6

您可以查询该INFORMATION_SCHEMA.COLUMNS表:

SELECT TABLE_NAME, COLUMN_NAME
FROM   INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_SCHEMA = DATABASE()
于 2012-09-04T18:10:13.053 回答
0

在 mysql 命令上,您可以使用show databasesshow tables

或者在 php 脚本上你可以use mysql_list_dbs()mysql_list_tables()

http://php.net/manual/en/function.mysql-list-dbs.php

http://php.net/manual/en/function.mysql-list-tables.php

于 2012-09-04T18:14:12.017 回答
0

此脚本使用 PDO 执行返回数据库表和表列的查询。它使用您可以个性化的简单布局。

<?php

    $host = '';
    $dbname = '';
    $username = '';
    $password = '';

    $db = new PDO("mysql:host=$host;dbname=$dbname;charset=UTF-8", $username, $password);

    $sth = $db->prepare("SHOW TABLE STATUS FROM $dbname");
    $sth->execute();

    $result = $sth->fetchAll();
    foreach ($result as $info) {
        echo "<p><b>".$info['Name']."</b><br />";

        $sth2 = $db->prepare("SHOW COLUMNS FROM $dbname.{$info['Name']};");
        $sth2->execute();
        $result2 = $sth2->fetchAll();
        foreach ($result2 as $info2)
            echo " - ".$info2['Field']."<br />";

        echo "</p>";
    }

?>
于 2012-09-04T18:40:12.457 回答