在Web浏览器SQLSRV-php中使用列名或表格视图进行打印

时间:2017-09-19 18:03:49

标签: php sqlsrv

我使用sqrsrvphp SQL服务器连接获取输出。我可以打印每列的行,但是,我无法打印这些行的标题。当我在浏览器中查看(localhost)时如何获取标题/列名?

我在浏览器中输出了这样的输出,

Joseph   Alaba    Good
Craig    Nelson   Avg
Benjamin Hennepy  Avg
...

我需要这样,我在Management Studios中的方式(使用FName,LName和Staus标题),

 ---------------------------
 |FName    |LName    |Status|
 ---------------------------
 |Joseph   |Alaba    |Good  |
 |Craig    |Nelson   |Avg   |
 |Benjamin |Hennepy  |Avg   |
 ...

连接到数据库后,我使用这样选择并打印,

$sql = "SELECT * FROM tbl";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
 echo $row['Fname'].$row['LName'].$row['Status']."<br/>";
}

我一直在搜索,找不到在echo语句中打印标题的代码。任何建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用sqlsrv_field_metadata()。它适用于使用sqlsrv_preparesqlsrv_query创建的语句。它返回一个数组数组,其中包含查询返回的每个字段的元数据。

您可以像这样使用它:

$sql = "SELECT * FROM tbl";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

foreach(sqlsrv_field_metadata($stmt) as $field){
    echo $field['Name']; // The Name key provides the column name
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
    echo $row['Fname'].$row['LName'].$row['Status']."<br/>";
}

答案 1 :(得分:0)

echo 'Fname'.'LName'.'Status'."<br/>";