【问题标题】:How to display specific field names?如何显示特定的字段名称?
【发布时间】:2013-10-02 18:04:01
【问题描述】:

这里对 PHP 和 Mysql 真的很陌生,并试图自学! 我用过 echo mysql_field_name($result, 0) 显示表格中的某个字段名称,并且可以通过更改数字来更改哪个字段名称。 我的问题是,如何回显特定字段名称的列表,例如 2-8 以将它们放入 html 表中?

谢谢!

【问题讨论】:

标签: php mysql


【解决方案1】:

那么几个cmets...

首先,mysql_ 库在 5.5 及更高版本中已弃用。如果您是 PHP 新手,我强烈建议您改为学习 mysqli library 并使用对象版本。我的示例将假设您有一个 mysqli 对象。有很多程序方法可以做同样的事情,你只需要每次都传递你的数据库连接指针。

所以我们有一些带有数据库连接器的查询。

$sql = 'Some statement here';
$result = $mysqli->query($sql);

此时我们有一个结果。有几种比 mysql_field_name 从表中获取数据更好的方法。一个是 fetch_object,另一个是 fetch_assoc。不同之处在于 fetch_assoc 会给你一个关联数组,另一个会给你一个对象

$row = $result->fetch_assoc();
echo $row['fieldname'];

$row = $result->fetch_object();
echo $row->fieldname;

还有其他获取数据的方法,但这是最常见的两种,因为它们最容易理解。

现在,如果您不知道字段的名称,您可以随时使用fetch_fields() 获取该数据。

【讨论】:

  • 这也很有用,谢谢,因为我希望在不知道字段名称的情况下构建查询。
【解决方案2】:

如果您想使用 MySqli,您可以使用 While 循环轻松完成此操作。如果你想在表格中显示,这很容易做到。

连接到你的数据源(如果你使用的是mysql而不是mysqli,我建议切换。)

$con=mysqli_connect("example.com","peter","abc123","my_db");

然后你想运行你的 sql 脚本来获取数据:

$mydata = mysqli_query($con, "SELECT * FROM mytable");

这是 While 循环发挥作用的地方,显示在表格中。

echo '<table><tr><th>Field1</th><th>Field2</th></tr>';

//This bascially says while you can fetch data from your database, do the
//the following with the label $mytable.
while($mytable = mysqli_fetch_array($mydata)) {
    echo '<tr><td>'.$mytable['yourfieldnameinyourdb'].'<td>';
    echo '<td>'.$mytable['your2fieldnameinyourdb'].'</td></tr>'; 
}

echo '</table>';

所以完整的代码是:

<?
// Connect your your DB
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Get your data
$mydata = mysqli_query($con, "SELECT * FROM mytable");
// Start the table
echo '<table><tr><th>Field1</th><th>Field2</th></tr>';
// Do the loop
while($mytable = mysqli_fetch_array($mydata)) {
    echo '<tr><td>'.$mytable['yourfieldnameinyourdb'].'<td>';
    echo '<td>'.$mytable['your2fieldnameinyourdb'].'</td></tr>'; 
}
// End your table
echo '</table>';
?>

如果这不能完全回答您的问题,请告诉我。

【讨论】:

  • 这是一个非常好的回复,正是我想要做的,谢谢!
【解决方案3】:

如果您使用诸如 PDO 或 mysqli 之类的库(您应该使用它们而不是 mysql),并且您使用选项将每一行数据作为关联数组检索,则字段名称将是数组的键值.您可以通过这种方式获取字段名称,而无需任何额外的开销来单独查询以获取字段名称。

【讨论】:

  • 谢谢,有人在另一条评论中提到了PDO和mysqli,我想这将是我要学习的其他东西!
猜你喜欢
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多