fetch_array数据库查询:MSSQL实现绝佳数据检索

介绍

在MSSQL数据库中,数据检索是非常常见的操作。fetch_array函数是其中的一个常用函数,它可以返回一个结果集中的行,并存储为关联数组、数字数组或同时存储为两者,使我们可以按需获取所需结果。

语法

在MSSQL中,fetch_array函数的语法如下:

sqlsrv_fetch_array ( resource $stmt [, int $fetchType = SQLSRV_FETCH_BOTH [, int $row [, int $offset ]]] ) : mixed

其中,sqlsrv_fetch_array() 函数将行数据作为数组返回。 数组可以是关联数组、数字数组,或两者兼而有之。

这个函数比 get_result 函数和 fetch 函数更加灵活,可以返回更多类型的结果。

参数说明

以下是fetch_array函数的参数:

$stmt - 这是查询句柄。

$fetchType - 这是一个快捷方法,它可以是 SQLSRV_FETCH_NUMERIC、SQLSRV_FETCH_ASSOC、SQLSRV_FETCH_BOTH。

$row - (可选)数字,表示要检索的行数。默认值是1。

$offset - (可选)数字,表示将指针移动到此行+偏移量。默认为0。

返回值

fetch_array() 函数返回行的数组形式,每次调用都会返回结果集中下一行的第一个元素。

当没有更多数据可用时,返回 FALSE。

如何在MSSQL中使用fetch_array()执行查询

连接到数据库

首先,需要创建一个连接到MSSQL数据库。创建连接是使用 sqlsrv_connect函 数执行的。下面的代码展示了如何创建一个连接:

$serverName = "serverName\sqlexpress";

$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");

$conn = sqlsrv_connect( $serverName, $connectionInfo);

执行查询

现在,可以使用 sqlsrv_query 函数执行查询。要使用 fetch_array 函数,在执行查询时必须传递 'Scrollable' => SQLSRV_CURSOR_KEYSET 选项。

下面是一个查询的示例:

$query = "SELECT Id, Name, Age FROM Persons";

$params = array();

$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );

$result = sqlsrv_query($conn, $query, $params, $options);

获取结果集

一旦查询执行成功,将生成一个结果集。可以使用 fetch_array 函数遍历结果集。下面的代码将在结果集中反复调用 fetch_array 函数,直到将所有行都处理完毕为止:

while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) {

echo $row['Id'].", ".$row['Name'].", ".$row['Age']."
";

}

在这个例子中 *每次调用 fetch_array 都将返回一行数据的关联数组。fetch_array 函数需要一个相对于结果集指针位置的参数 $result 。

总结

对于需要从数据库中检索大量数据的应用程序来说,fetch_array 函数是一个非常有用的工具。它使得从MSSQL数据库中检索数据变得非常容易,并且可以按需获取所需结果。通过使用上述方法,我们可以在MSSQL中使用fetch_array函数来执行查询,并使用结果集中的数据。

数据库标签