如何在codeigniter中获取mysql表的字段名?

Posted

技术标签:

【中文标题】如何在codeigniter中获取mysql表的字段名?【英文标题】:How to get field names of mysql table in codeigniter? 【发布时间】:2012-05-02 17:47:41 【问题描述】:

我是 codeigniter 的新手。我正在尝试通过查询获取表的字段名称。

我已经写了一个查询

"从用户中选择 *"

并将其传递给$this->db->query() 函数。我正在获取记录。但我想获取表的字段名称。那我怎么才能得到呢?

谁能帮帮我。提前致谢。

【问题讨论】:

【参考方案1】:

使用数据库库编写此代码以列出所有字段:

$this->db->list_fields('table')

看这里:https://codeigniter.com/userguide3/database/results.html#CI_DB_result::list_fields

【讨论】:

【参考方案2】:

有时这可能会有所帮助

$fields = $this->db->field_data('table_name');

foreach ($fields as $field)

   echo $field->name;
   echo $field->type;
   echo $field->max_length;
   echo $field->primary_key;

【讨论】:

【参考方案3】:

您所做的是从表中获取数据.... 这里你的表是用户所以

在您的模型函数中执行此操作...

function get_field()

$result = $this->db->list_fields('user');
foreach($result as $field)

$data[] = $field;
return $data;


在您的控制器中执行此操作

function get_field()

$data['field'] = $this->model_name->get_field();
$this->load->view('view_name',$data);

在你看来这样做

foreach($field as $f)

echo $f."<br>"; //this will echo all your fields

希望对你有帮助

【讨论】:

【参考方案4】:

您可以使用以下代码从数据库中获取字段

$fields = $this->db->list_fields('table_name');

foreach ($fields as $field)

   echo $field;

【讨论】:

感谢您提供此代码 sn-p,它可能会提供一些有限的即时帮助。 proper explanation would greatly improve its long-term value 通过展示为什么这是一个很好的解决问题的方法,并将使其对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。【参考方案5】:

借助此代码,我们可以从 db 中获取字段名称

include('db.php');

    $col="SHOW COLUMNS FROM `camera details`";
    $output=mysqli_query($db,$col);

    $kal=array();
    while($row=mysqli_fetch_array($output))
    
        if($row['Field']!='id')
        
            ?><div class="values"><?php echo $row['Field'];
            echo "<br>";?></div><br><br><?php
            array_push($kal, $row['Field']);
        
    
    ?>
    <?php** 

【讨论】:

【参考方案6】:
The answer given above by Anwar needs modification, there is no need for foreach loop in model function as it will only give the first element despite using foreach, which means the foreach loop is not bringing the fields using $data[], below code should give you 100% result

in your model function do this...

function get_field()

$result = $this->db->list_fields('user');
return $result();

in your controller do this

function get_field()

$data['field'] = $this->model_name->get_field();
$this->load->view('view_name',$data);

in your view do this

foreach($field as $f)

echo $f."<br>"; //this will echo all your fields

【讨论】:

以上是关于如何在codeigniter中获取mysql表的字段名?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用codeigniter从mysql中获取多个多维数组中的数据?

使用 PHP/CodeIgniter 在 MySQL 中获取最后执行的查询

比较codeigniter中两个表的数据

是否可以使用带有 Codeigniter 的 Datamapper 来获取表的字段名称?

如何使用codeigniter显示mysql数据透视表数据

如何在codeigniter中将ajax选择的依赖下拉选项传递给mysql数据库