0

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

谢谢!

4

3 回答 3

1

所以一些评论...

首先,mysql_ 库在 5.5 及更高版本中已被贬低。如果您是 PHP 新手,我强烈建议您学习mysqli 库并使用对象版本。我的示例将假设您有一个 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()来获取该数据。

于 2013-10-02T18:15:04.437 回答
0

如果您想使用 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>';
?>

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

于 2013-10-02T18:24:15.500 回答
0

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

于 2013-10-02T18:09:10.593 回答