比较数据检索函数

SQL Server Driver for PHP 提供以下从结果集检索数据的方法:

  • sqlsrv_fetch_array:作为数字顺序化索引数组、关联数组或这两种数组检索下一行数据。

  • sqlsrv_fetch_object:作为 PHP 对象检索下一行数据。

  • sqlsrv_fetch/sqlsrv_get_field:组合使用时,可从一行数据检索指定字段。使用 sqlsrv_fetch 函数可读取下一行结果集。sqlsrv_get_field 函数从当前行的指定字段检索数据。

    备注

    组合使用 sqlsrv_fetchsqlsrv_get_field 提供对数据的只进访问。

sqlsrv_fetch_arraysqlsrv_fetch_object 函数用于将一整行结果集加载到脚本内存中,并按照默认 PHP 数据类型返回数据。(有关默认 PHP 类型的信息,请参阅默认的 PHP 数据类型。)

与此不同,sqlsrv_fetch/sqlsrv_get_field 的组合使用仅将一个结果集行中的一个字段加载到脚本内存中,并且允许指定 PHP 返回类型。(有关如何指定 PHP 返回类型的信息,请参阅如何指定 PHP 数据类型。)函数的这种组合使用还可以作为流检索数据。(有关作为流检索数据的信息,请参阅以流的形式检索数据。)

备注

当使用任意上述函数时,请避免将 null 比较用作现有循环的条件。因为 sqlsrv 函数在发生错误时返回 false,所以下列代码会在 sqlsrv_fetch_array 中发生错误时导致无限循环:

/*This code could result in an infinite loop. It is recommended that

you do NOT use null comparisons as the criterion for exiting loops,

as is done here. */

do{

$result = sqlsrv_fetch_array($stmt);

} while( !is_null($result));

另请参见

其他资源

设计注意事项
检索数据