(No hay información de versión disponible, podría estar únicamente en SVN)
sqlsrv_fetch_array — Devuelve una fila como un array
$stmt
[, int $fetchType
[, int $row
[, int $offset
]]] )Devuelve la siguiente fila de datos disponible como un array asociativo, un array numérico, o ambos (por defecto).
stmt
Un recurso de sentencia devuelta por sqlsrv_query o sqlsrv_prepare.
fetchType
Una constante predefinida con el tipo de array a devolver. Los valores
posibles son SQLSRV_FETCH_ASSOC
,
SQLSRV_FETCH_NUMERIC
, y
SQLSRV_FETCH_BOTH
(por defecto).
El tipo de objeto devuelto SQLSRV_FETCH_ASSOC no debe utilizarse cuando se trate un conjunto de resultados con múltiples columnas con el mismo nombre.
row
Especifica la fila para acceder a un conjunto de resultados que utiliza un cursor con scroll.
Los valores posibles son SQLSRV_SCROLL_NEXT
,
SQLSRV_SCROLL_PRIOR
, SQLSRV_SCROLL_FIRST
,
SQLSRV_SCROLL_LAST
, SQLSRV_SCROLL_ABSOLUTE
y,
SQLSRV_SCROLL_RELATIVE
(por defecto). Cuando se especifica
este parámetro, el parámetro fetchType
debe ser definido explícitamente.
offset
Especifica la fila a la que se desea acceder si el parámetro de fila se define como
SQLSRV_SCROLL_ABSOLUTE
o
SQLSRV_SCROLL_RELATIVE
. Notar que la primera fila
en un conjunto de resultado tiene el índice 0.
Devuelve un array en caso de éxito, NULL
si no hay más filas a devolver, y
FALSE
si se produce un error.
Ejemplo #1 Devolver un array asociativo.
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['LastName'].", ".$row['FirstName']."<br />";
}
sqlsrv_free_stmt( $stmt);
?>
Ejemplo #2 Devolver un array numérico.
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
echo $row[0].", ".$row[1]."<br />";
}
sqlsrv_free_stmt( $stmt);
?>
Cuando no se especifica el parámetro fetchType
o se utiliza explícitamente la constante
SQLSRV_FETCH_TYPE
en los ejemplos anteriores, se
devolverá un array que tiene tanto claves asociativas como claves nuéricas.
Si se devuelve más de una columna con el mismo nombre, la última columna tendrá prioridad para tomar el nombre. Para evitar colisiones de nombre de campo, utilizar alias.
Si se devuelve una columna sin nombre, la clave asociativa para ese elemento del array será un string vacío ("").