Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pobiera wiersz ze zbioru wyników.
Syntax
mixed PDOStatement::fetch ([ $fetch_style[, $cursor_orientation[, $cursor_offset]]] );
Parametry
$ fetch_style: Opcjonalny (całkowitoliczbowy) symbol określający format danych wiersza. Zobacz sekcję Uwagi dla listy możliwych wartości dla fetch_style dolarów. Domyślnie to PDO::FETCH_BOTH. $ fetch_style w metodzie pobierania nadpisuje $fetch_style określone w metodzie zapytania PDO::.
$
cursor_orientation: Opcjonalny (całkowitoliczbowy) symbol wskazujący wiersz do pobrania, gdy instrukcja prepare określa .PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL Zobacz sekcję Uwagi dla listy możliwych wartości dla cursor_orientation $. Zobacz PDO::p repare dla przykładu z przewijanym kursorem.
$ cursor_offset: Opcjonalnym (całkowitoliczbowym) symbolem określającym wiersz do pobrania, gdy $cursor_orientation jest albo PDO::FETCH_ORI_ABS lub PDO::FETCH_ORI_REL a PDO::ATTR_CURSOR to PDO::CURSOR_SCROLL.
Wartość zwracana
Wartość mieszana, która zwraca wiersz lub fałsz.
Remarks
Kursor automatycznie przesuwa się do przodu po wywołaniu pobierania. Poniższa tabela zawiera listę możliwych wartości fetch_style $.
| $ fetch_style | Description |
|---|---|
| PDO::FETCH_ASSOC | Określa tablicę indeksowaną według nazwy kolumny. |
| PDO::FETCH_BOTH | Określa tablicę indeksowaną według nazwy kolumny i kolejności opartej na 0. Jest to opcja domyślna. |
| PDO::FETCH_BOUND | Zwraca true i przypisuje wartości określone przez PDOStatement::bindColumn. |
| PDO::FETCH_CLASS | Tworzy instancję i mapuje kolumny na nazwane właściwości. Przed wywołaniem fetch wywołaj PDOStatement::setFetchMode . |
| PDO::FETCH_INTO | Odświeża instancję żądanej klasy. Przed wywołaniem fetch wywołaj PDOStatement::setFetchMode . |
| PDO::FETCH_LAZY | Tworzy nazwy zmiennych podczas dostępu i tworzy obiekt bez nazwy. |
| PDO::FETCH_NUM | Określa tablicę indeksowaną według zerowego porządku kolumn. |
| PDO::FETCH_OBJ | Określa nienazwany obiekt o nazwach właściwości, które odpowiadają nazwam kolumn. |
Jeśli kursor znajduje się na końcu zbioru wyników (ostatni wiersz został pobrany, a kursor przesunął się poza granicę zbioru wyników) i jeśli kursor jest tylko do przodu (PDO::ATTR_CURSOR = PDO::CURSOR_FWDONLY), kolejne wywołania pobierania nie ulegną awarii.
Jeśli kursor jest przewijany (PDO::ATTR_CURSOR = PDO::CURSOR_SCROLL), pobieranie przesuwa kursor w granicy zbioru wyników. Poniższa tabela zawiera listę możliwych wartości cursor_orientation $.
| $ cursor_orientation | Description |
|---|---|
| PDO::FETCH_ORI_NEXT | Odzyskuje następny rząd. Jest to opcja domyślna. |
| PDO::FETCH_ORI_PRIOR | Odzyskuje poprzedni rząd. |
| PDO::FETCH_ORI_FIRST | Odzyskuje pierwszy rząd. |
| PDO::FETCH_ORI_LAST | Odzyskuje ostatni rząd. |
| PDO::FETCH_ORI_ABS, num | Pobiera żądany wiersz w cursor_offset dolarów według numeru wiersza. |
| PDO::FETCH_ORI_REL, num | Pobiera żądany wiersz w cursor_offset USD według względnej pozycji z aktualnej pozycji. |
Jeśli wartość podana dla cursor_offset lub cursor_orientation $ skutkuje pozycją poza granicą zbioru wyników, pobieranie wyników się nie uda.
Wsparcie dla PDO zostało dodane w wersji 2.0 sterowników Microsoft dla PHP dla SQL Server.
Example
<?php
$server = "(local)";
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=$server ; Database = $database", "", "");
print( "\n---------- PDO::FETCH_CLASS -------------\n" );
$stmt = $conn->query( "select * from HumanResources.Department order by GroupName" );
class cc {
function __construct( $arg ) {
echo "$arg";
}
function __toString() {
return $this->DepartmentID . "; " . $this->Name . "; " . $this->GroupName;
}
}
$stmt->setFetchMode(PDO::FETCH_CLASS, 'cc', array( "arg1 " ));
while ( $row = $stmt->fetch(PDO::FETCH_CLASS)) {
print($row . "\n");
}
print( "\n---------- PDO::FETCH_INTO -------------\n" );
$stmt = $conn->query( "select * from HumanResources.Department order by GroupName" );
$c_obj = new cc( '' );
$stmt->setFetchMode(PDO::FETCH_INTO, $c_obj);
while ( $row = $stmt->fetch(PDO::FETCH_INTO)) {
echo "$c_obj\n";
}
print( "\n---------- PDO::FETCH_ASSOC -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_ASSOC );
print_r( $result );
print( "\n---------- PDO::FETCH_NUM -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_NUM );
print_r ($result );
print( "\n---------- PDO::FETCH_BOTH -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_BOTH );
print_r( $result );
print( "\n---------- PDO::FETCH_LAZY -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_LAZY );
print_r( $result );
print( "\n---------- PDO::FETCH_OBJ -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_OBJ );
print $result->Name;
print( "\n \n" );
print( "\n---------- PDO::FETCH_BOUND -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$stmt->bindColumn('Name', $name);
$result = $stmt->fetch( PDO::FETCH_BOUND );
print $name;
print( "\n \n" );
?>