php - 从我的 MySQL 数据库表中获取列名

标签 php mysql

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

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

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

最佳答案

echo $colqry 返回了一个查询,我按照建议在 phpmyadmin 上进行了测试。由于变量没有被引用,确实存在一个错误,我已修复该错误,现在它可以工作了。谢谢

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

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

关于php - 从我的 MySQL 数据库表中获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29076577/

相关文章:

php - 启动另一个实体时除了 & 符号之外的 htmlspecialchars

javascript - Php, Jquery/JS, 提交按钮

php\r 和\n 一样吗?

mysql - 日期范围分区表超时

php - 根据 CSV 每 x 分钟用 PHP 更新整个表

mysql - 使用docker-compose无法在同一网络中连接mysql和spring boot

php - 动态包括安全

php - 在 Laravel 中使用缓存门面时未显示 Redis 键

mysql - where 子句中查询的查询性能问题

mysql - 如何在5.6.19版本中启用MySQL查询日志?