Возвращает строку как массив

# sqlsrv_fetch_array

(No version information available, might only be in Git)

sqlsrv_fetch_array — Возвращает строку как массив

### Описание

function sqlsrv_fetch_array(
resource `$stmt`,
int `$fetchType` = ?,
int `$row` = ?,
int `$offset` = ?
): array

Возвращает следующую доступную строку данных в виде ассоциативного массива, числового массива или и того и другого (по умолчанию).

### Список параметров

`stmt`
  Ресурс оператора, возвращаемый sqlsrv_query или sqlsrv_prepare.
`fetchType`
  Предопределённая константа, указывающая тип возвращаемого массива. Возможные значения: `SQLSRV_FETCH_ASSOC`, `SQLSRV_FETCH_NUMERIC` или `SQLSRV_FETCH_BOTH` (по умолчанию). Тип выборки SQLSRV_FETCH_ASSOC не следует использовать при использовании набора результатов с несколькими столбцами с одинаковым именем.
`row`
  Задаёт строку для доступа в результирующем наборе, в котором используется прокручиваемый курсор. Возможные значения: `SQLSRV_SCROLL_NEXT`, `SQLSRV_SCROLL_PRIOR`, `SQLSRV_SCROLL_FIRST`, `SQLSRV_SCROLL_LAST`, `SQLSRV_SCROLL_ABSOLUTE` и `SQLSRV_SCROLL_RELATIVE` (по умолчанию). Если этот параметр указан, `fetchType` должен быть явно определён.
`offset`
  Указывает строку, к которой будет осуществляться доступ, если для параметра строки установлено значение `SQLSRV_SCROLL_ABSOLUTE` или `SQLSRV_SCROLL_RELATIVE`. Обратите внимание, что первая строка в наборе результатов имеет индекс 0.

### Возвращаемые значения

В случае успешного выполнения возвращает массив, `null`, если в наборе результатов больше нет строк и `false` в случае возникновения ошибки.

### Примеры

Пример #1 Получение ассоциативного массива.

    <?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);
    ?>

Пример #2 Получение числового массива.

    <?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);
    ?>

### Примечания

Не указанный `fetchType` или явное использование константы `SQLSRV_FETCH_TYPE` в приведённых выше примерах вернёт массив, у которого ключи будут как ассоциативные, так и числовые.

Если более одного столбца возвращается с одним и тем же именем, последний столбец будет иметь приоритет. Чтобы избежать конфликтов имён полей, используйте псевдонимы.

Если возвращается столбец без имени, ассоциативный ключ для элемента массива будет пустой строкой ("").

### Смотрите также

- sqlsrv_connect() - Открывает соединение с базой данных Microsoft SQL Server
- sqlsrv_query() - Подготавливает и выполняет запрос
- sqlsrv_errors() - Возвращает информацию об ошибке и предупреждении последней выполненной операции SQLSRV
- sqlsrv_fetch() - Делает следующую строку в наборе результатов доступной для чтения

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open