如何使用mysql查找记录的字段名称?

时间:2012-06-04 21:43:49

标签: php mysql pdo

PDO sql代码:

while($r = $q->fetch(PDO::FETCH_ASSOC)){
    $gg = join('</td><td>', $r);
    echo "<tr><td>" . $no_count . "</td><td>" . $gg . "</td></tr>";
    $no_count = $no_count + 1;      
}

变量$r是记录,如何回显$r的字段名?

假设$r携带来自2个不同字段“product”和“price”的记录。 $r的值为“apple”,“130”。如何将“usd”添加到“130”中?

我需要像...... if $field_name == "$r['price']" { $r = join('usd', $r); };

这样的东西

感谢Mike B,我几乎在那里:

while($r = $q->fetch(PDO::FETCH_ASSOC)){
            foreach ($r as $name => $value) {
                if ($name == "price"){
                     $r = "usd" . $value; // this line got problem, how to change the value in an array variable $r?
                }
            }

            $gg = join('</td><td>', $r);
            echo "<tr><td>" . $no_count . "</td><td>" . $gg . "</td></tr>";
            $no_count = $no_count + 1;              
}

1 个答案:

答案 0 :(得分:3)

array_keys($r)将为您提供表格中的字段列表,因为您正在获取关联数组。

您还可以循环浏览$r

foreach ($r as $name => $value) {
  print "$name: " . $value;
}

更新

//这一行出了问题,如何更改数组变量$ r?

中的值
$r[$name] = 'usd' . $value;

编辑原始名称。由于您拥有来自foreach循环的$name变量中的键,因此您可以直接设置它。