从MySQL数据库表中获取列名


Getting Column Names from my MySQL database table

我正试图从表中获取列名,以便在我的网站上动态地重新创建表。表名和数据库名是动态的,因此存储在变量中。我的代码

function getDBTbldata() {
    if (isset ( $_GET ['tbl'] )) {
        $dbName= $_GET['db'];
        $tblName = $_GET ['tbl'];
        echo "<h3> Using Table : $tblName  </h3>";
        $link = mysqli_connect ( '192.168.2.113', 'root', '',  $dbName );
        if (! $link) {
            die ( "Connection failed" . mysqli_errno ( $link ) );
        }
        $colqry = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = $dbName AND TABLE_NAME = $tblName";
        $col_names = mysqli_query ( $link, $colqry );
        var_dump($col_names);
        while ($column = mysqli_fetch_assoc($col_names)){
            echo $column[0];
        }
    }
}

运行上面的代码会出现以下错误:

mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in

我已经检查了我的Query是否有任何语法错误,但我找不到任何明显的错误。有什么帮助吗?

echo $colqry返回了一个查询,我按照建议在phpmyadmin上测试了这个查询。确实有一个错误是由于没有计算变量,我修复了这个错误,现在它可以工作了。感谢

 $colqry = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '$dbName' AND TABLE_NAME = '$tblName'";

上面的语法应该是什么样子。