我正在尝试构建一个PHP函数,它允许我拥有一个MySQL数据库标题数组,用于查找特定字段。
function table($tablename,$id) {
$post = mysql_query("SELECT * FROM $tablename WHERE ID = '$id'");
}
然后,我如何将表头输出为有问题的行的有效微型查询。
例如。 $post->title, $post->timestamp, $post->field4
答案 0 :(得分:3)
你需要MySQLi或PDO_MySQL,但在你的情况下:
while ($row = mysql_fetch_assoc($post)) {
echo $row['title'];
}
请记住,不建议使用mysql_ *函数。
答案 1 :(得分:2)
mysql_fetch_assoc($post)
怎么样?
要将所有字段名称设置为单独的数组:
$post = mysql_fetch_assoc($post);
$fields = array();
foreach($post as $title => $value){
$fields[] = $title;
}
您可以在while循环中使用它来遍历所有行并获取theri字段值(以及它们的名称):
while($p = mysql_fetch_assoc($post)){
$title = $p['title'];
$timestamp = $p['timestamp'];
//And so on...
}
编辑:和Pierpaolo是对的,你应该使用另一个mysql实现,因为旧的将在PHP 5.5 / 5.6或稍后删除...
答案 2 :(得分:2)
您可以通过执行以下命令获取列名称:
DESCRIBE `MyTable`;
它将返回包含Field,Type,Key等的结果集
$query = mysql_query("DESCRIBE `MyTable`");
while($result = mysql_fetch_assoc($query)) {
echo $result['Field'] . "\n";
}
答案 3 :(得分:1)
一个简单的PHP脚本,用于在 MySQL 中获取字段名称:
<?php
$sql = "SELECT * FROM table_name;";
$result = mysql_query($sql);
$i = 0;
while($i<mysql_num_fields($result))
{
$meta=mysql_fetch_field($result,$i);
echo $i.".".$meta->name."<br />";
$i++;
}
?>
<强>输出:强>
0.id
1.todo
2.due date
3.priority
4.type
5.status
6.notes
希望这有帮助!取自php.net文档。