比较数据检索函数
SQL Server Driver for PHP 提供以下从结果集检索数据的方法:
sqlsrv_fetch_array:作为数字顺序化索引数组、关联数组或这两种数组检索下一行数据。
sqlsrv_fetch_object:作为 PHP 对象检索下一行数据。
sqlsrv_fetch/sqlsrv_get_field:组合使用时,可从一行数据检索指定字段。使用 sqlsrv_fetch 函数可读取下一行结果集。sqlsrv_get_field 函数从当前行的指定字段检索数据。
备注
组合使用 sqlsrv_fetch 和 sqlsrv_get_field 提供对数据的只进访问。
sqlsrv_fetch_array 和 sqlsrv_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));