(No version information available, might only be in Git)
sqlsrv_fetch_object — Получает следующую строку данных в наборе результатов как объект
$stmt,$className = ?,$ctorParams = ?,$row = ?,$offset = ?Извлекает следующую строку данных в наборе результатов как экземпляр указанного класса со свойствами, соответствующими именам полей строки и значениям, которые соответствуют значениям полей строки.
stmtclassNamectorParamsrowСтрока, к которой нужно получить доступ. Параметр можно использовать только в том случае, если указанный оператор был подготовлен с помощью курсора с возможностью прокрутки. В этом случае этот параметр может принимать одно из следующих значений:
offsetSQLSRV_SCROLL_ABSOLUTE или
SQLSRV_SCROLL_RELATIVE.
Обратите внимание, что первая строка в наборе результатов имеет индекс 0.
В случае успешного выполнения возвращает объект, null, если в наборе результатов больше нет строк
и false в случае возникновения ошибки или если указанный класс не существует.
Пример #1 Пример использования sqlsrv_fetch_object()
В следующем примере показано, как получить строку как объект stdClass.
<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT fName, lName FROM Table_1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
// Получение каждой строки как объект.
// Поскольку класс не указан, каждая строка будет получена как объект stdClass.
// Имена свойств соответствуют именам полей.
while( $obj = sqlsrv_fetch_object( $stmt)) {
echo $obj->fName.", ".$obj->lName."<br />";
}
?>Если имя класса указано с необязательным параметром $className и у класса есть свойства, имена которых совпадают с именами полей набора результатов, к свойствам применяются соответствующие значения набора результатов. Если имя поля набора результатов не соответствует свойству класса, свойство с именем поля набора результатов добавляется к объекту, а значение набора результатов применяется к свойству. При использовании параметра $className применяются следующие правила:
false и добавляет ошибку в коллекцию ошибок.При использовании набора результатов, содержащего несколько столбцов с одинаковым именем, может быть лучше использовать sqlsrv_fetch_array() или комбинацию sqlsrv_fetch() и sqlsrv_get_field().