我的数据库中有几列,我想打印出所有列名,即数据库中人员的姓名。
我在选择列名时遇到问题,这段代码将运行循环,但只打印$ i,而不是列的实际名称。有什么建议?感谢
ifeq ($(OS),LINUX)
# do stuff
endif
P.S。 我尝试过: 从Names.COLUMNS中选择COLUMN_NAME,其中TABLE_NAME ='Names',但这也不起作用,它告诉我:访问被拒绝,不知道为什么
答案 0 :(得分:2)
以下是获取表格列名的代码。
$sql = "SHOW COLUMNS FROM your-table";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)){
echo $row['Field']."<br>";
}
但是,当你被拒绝访问时。这意味着您没有访问表元数据的权限。
所以你可以使用
while ($row = mysql_fetch_assoc($result)) {
if (empty($columns)) {
$columns = array_keys($row);
// Here $columns is array and it contains all column name
}
}
答案 1 :(得分:0)
我想你应该试试这个:
$query = "SELECT * FROM People";
$result = mysqli_query( $conn, $query );?>
<table>
<?php
while($row = mysqlsi_fetch_assoc( $result ) ){
?>
<tr>
<td><p><?php print( $row->id );?></p></td>
<td><p><?php print( $row->name );?></p></td>
<td><p><?php print( $row->lastname );?></p></td>
</tr>
<?php
} ?>
</table>
假设您的SQL表包含以下字段:id
,name
,lastname
。
答案 2 :(得分:0)
在你的while循环中你可以使用
foreach($row as $column => $value){
printf("Column: %s has value: %s\n", $column, $value);
}
因为mysql_fetch_assoc返回一个关联数组,所以你想要key =&gt;价值信息。
HTH
答案 3 :(得分:0)
在php中使用mysql_field_name函数获取列名
$query = mysql_query("SELECT * FROM People");
$i = 1; $j=0; // I have declared $j incrementor
while($row = mysql_fetch_assoc($query)) {
$name = $row['query'];
$columnname = mysql_field_name($query, $j); // This gives the column name of table.
if ($count > '1') {
?>
<table>
<tr>
<td><?php echo $columnname; ?></td>
<td><p><b><?php print( $name . "</p></td></tr>");
$i = $i + 1;
$j = $j + 1;
?>