PHP 从 MSSQL 检索数据时结果少一行

Less one row result when retrieve data from MSSQL on PHP

我正在尝试从 PHP 上的 SQL 服务器检索数据。 但是我在这里遇到了一些问题。 同样的sql查询,在数据库中显示的记录是6行,但在PHP上只显示了5行。任何的想法?提前致谢。

SQL 结果

PHP 结果

代码

$stmt = sqlsrv_prepare($conn, $sql);
    $result = sqlsrv_execute($stmt);
    $row = sqlsrv_fetch_array($stmt);
    $i = 1;
    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) 
        { ?>

代码

 <tr>
   <td><?php echo $i++;?></td>
 <?php foreach($row as $item ) {   ?>
<td><?=$item ?> </td>
// Try your foreach loop like the following.


    $html = NULL;
    $html .= '<tr>';
    foreach($row as $item) {
       $html .= '<td>'. $item . '</td>';
    }
    $html .= '</tr>';

echo $html;

您没有从您的服务器输出第一行数据:$row 在此语句中分配的值

$row = sqlsrv_fetch_array($stmt);

被该语句覆盖

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) 

在它被使用之前。您应该只删除代码中的第一条语句,即

$stmt = sqlsrv_prepare($conn, $sql);
$result = sqlsrv_execute($stmt);
$i = 1;
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))