从MySQL查询对象(PHP)获取列名

时间:2012-01-30 17:32:31

标签: php mysql drupal-6

目前,我将MySQL查询结果存储在一个对象数组中,其中每个对象代表一个与查询匹配的行。稍后,我运行两个foreach循环来提取结果 - 在下面的示例中,它们作为动态生成的HTML表输出。

我的问题:是否可以从查询结果对象中获取列名?我的目标是能够动态生成表格标题,我的HTML表格目前缺少这些标题。

谢谢!

$data = array();

$result = db_query("SELECT column1, column2 FROM table");

while ($obj= db_fetch_object($result)) {
    array_push($data, $obj);
}

$ret = "<table>";
foreach ($data as $row) {
   $ret .= "<tr>";
   foreach ($row as $field) {
      $ret .= "<td>$field</td>";
   }
   $ret .= "</tr>";
}
$ret .= "</table>";

return $ret; 

3 个答案:

答案 0 :(得分:3)

有检索列名的功能。请查看此链接:

http://php.net/manual/en/function.mysql-fetch-field.php

答案 1 :(得分:2)

答案 2 :(得分:0)

问题是陈旧的,但现在可以用mysqli _ *

来完成
if(isset($_POST['Import'])){
    $file=  $_FILES['fimport']['tmp_name'];  
    $handle=fopen($file,'r');
    while(($fileop=fgetcsv($handle,1000,","))!=false){
    $name=$fileop[0];
    $email=$fileop[1];
    $userid=$this->session->userdata('id');
    $this->db->query("insert into usersemail(user_name,user_email,user_id)values('$name','$email','$userid')");
}