如何从Opencart2 Mysqli查询中获取字段名称


How to get field names from Opencart2 Mysqli Query

我试图从动态Mysqli查询中获得openart中的字段名称,但我得到以下错误:-

Warning: mysqli_fetch_fields() expects parameter 1 to be mysqli_result, object given in [mypath]

当执行SELECT查询返回行时

查询运行,所以它不是因为查询失败或返回空结果。

这是一个代码示例

$mysqlQuery = $this->db->query("SELECT * FROM attribute");
        $fieldinfo = mysqli_fetch_fields($mysqlQuery);

感谢您的帮助

注意:我假设您的配置文件中有'DB_DRIVER'=> 'mysqli'

现在当你运行$mysqlQuery = $this->db->query("SELECT * FROM ".DB_PREFIX."attribute");

db执行mySqli->query函数获取数据,所以让fetch_fields()函数添加到mySqli->query返回值

system/library/db/mysqli.php:32

After $result->rows = $data;

添加$result->fields = $query->fetch_fields();

现在你可以通过调用

来获取字段
$mysqlQuery = $this->db->query("SELECT * FROM ".DB_PREFIX."attribute");
print_r($mysqlQuery->fields);

试试这个

$columns = $this->db->query("SHOW COLUMNS FROM " . DB_PREFIX . "table_name"); print_r($columns->rows);

最后,我只是使用了查询结果的关联数组,并使用了一个foreach循环作为$key来输出表头名称。

<?php foreach($results as $key => $result); ?>