如何确定 php sqlsrv_fetch_array 的结尾

how to determine end of php sqlsrv_fetch_array

我不是 php 人,但必须编写页面代码,所以我有点吃力。我有以下代码从 mysql 数据库获取记录。

$results = db::query("select ColorHex, ColorUseDescription from Website_Color where BuildId=(?)", array($id));

while ($row = sqlsrv_fetch_array($results)){
    echo '{';
    echo    '"ColorHex":'.json_encode($row["ColorHex"]).',';
    echo    '"ColorUseDescription":'.json_encode($row["ColorUseDescription"]);
    echo '},';
}

我遇到的问题是,当我在最后一条记录上时,我不需要出现最后一条回声线。我正在向页面写入一个 json 字符串,因此在该数组的末尾有一个尾随逗号会使 json 解析器失效。

如何计算返回的记录数,以便将最后一个回显包装在 if 语句中?谢谢

使用sqlsrv-num-rows会预先告诉您结果集中有多少行。