PDOStatement :: recuperare
Manuale PHP DOP di riferimento
PDOStatement :: recuperare - concentrarsi sui risultati ottenuti dalla riga successiva (PHP 5> = 5.1.0, PECL DOP> = 0.1.0)
spiegazione
grammatica
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
Da un set di risultati associato all'oggetto PDOStatement ottiene la riga successiva. parametro fetch_style POD determina come le righe vengono restituite.
parametri
fetch_style
Come controllare la riga successiva viene restituito al chiamante. Questo valore deve essere DOP :: FETCH_ * costanti in serie, il valore predefinito per la DOP :: ATTR_DEFAULT_FETCH_MODE (default DOP :: FETCH_BOTH).
PDO :: FETCH_ASSOC: restituisce un array indicizzato nomi delle colonne del set di risultati
PDO :: FETCH_BOTH (default): restituisce un risultato array di tipo indice nomi delle colonne set che inizia con 0 e numero di colonna
PDO :: FETCH_BOUND: ritorna
TRUE
, variabili PHP e assegnare valori alle colonne nel set di risultati vincolante metodo PDOStatement :: bindColumn ().PDO :: FETCH_CLASS: una richiesta per restituire una nuova istanza della classe, i nomi delle colonne mappatura nel set di risultati per il nome della classe della proprietà corrispondente. Se
fetch_style
contiene PDO :: FETCH_CLASSTYPE (per esempio: PDO :: FETCH_CLASS | PDO :: FETCH_CLASSTYPE ), il nome della classe è determinato dal valore della prima colonnaPDO :: FETCH_INTO: Aggiornare un'istanza richiesta di classe esistente mappati alle colonne nella proprietà di classe set di risultati denominato
PDO :: FETCH_LAZY: in combinazione con PDO :: FETCH_BOTH e PDO :: FETCH_OBJ, per la creazione di un nome di variabile oggetto utilizzato per l'accesso
PDO :: FETCH_NUM: un ritorno al numero zero indicizzati colonna della serie set di risultati
PDO :: FETCH_OBJ: restituisce un nome di proprietà corrispondente al risultato impostare nomi delle colonne oggetti anonimi
cursor_orientation
Per un oggetto PDOStatement che rappresenta un cursore scorrevole, questo valore determina quale riga viene restituita al chiamante. Questo valore deve essere PDO :: FETCH_ORI_ * costanti in serie, il valore predefinito è PDO :: FETCH_ORI_NEXT. Per ottenere l'oggetto PDOStatement utilizzando i cursori scorrevoli, è necessario utilizzare quando DOP :: preparare) dichiarazioni pretrattamento SQL (, impostare l'attributo :: ATTR_CURSOR PDO PDO :: CURSOR_SCROLL.
offset
Per un parametro cursor_orientation è impostato su PDO :: oggetto PDOStatement che rappresenta un cursori scorrevoli FETCH_ORI_ABS, questo valore indica il set di risultati che si desidera ottenere la linea numero di riga assoluto.
Per un parametro cursor_orientation è impostato su PDO :: FETCH_ORI_REL l'oggetto PDOStatement che rappresenta un cursore scorrevole, questo valore indica la PDOStatement chiamata :: fetch () prima che la posizione del cursore rispetto alla linea che si desidera ottenere
Valore di ritorno
Indietro quando questo valore funzione (metodo) dipende dal tipo di estrazione successo. In tutti i casi, il fallimento restituisce FALSE.
Esempi
Ottenere fila con differenti metodi di estrazione
<?php $sth = $dbh->prepare("SELECT name, colour FROM fruit"); $sth->execute(); /* 运用 PDOStatement::fetch 风格 */ print("PDO::FETCH_ASSOC: "); print("Return next row as an array indexed by column name\n"); $result = $sth->fetch(PDO::FETCH_ASSOC); print_r($result); print("\n"); print("PDO::FETCH_BOTH: "); print("Return next row as an array indexed by both column name and number\n"); $result = $sth->fetch(PDO::FETCH_BOTH); print_r($result); print("\n"); print("PDO::FETCH_LAZY: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_LAZY); print_r($result); print("\n"); print("PDO::FETCH_OBJ: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_OBJ); print $result->NAME; print("\n"); ?>
Gli esempi di cui sopra sarà in uscita:
PDO::FETCH_ASSOC: Return next row as an array indexed by column name Array ( [NAME] => apple [COLOUR] => red ) PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number Array ( [NAME] => banana [0] => banana [COLOUR] => yellow [1] => yellow ) PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties PDORow Object ( [NAME] => orange [COLOUR] => orange ) PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties kiwi
Utilizzare un cursore scorrevole recuperare le righe
<?php function readDataForwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } function readDataBackwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); do { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } print "Reading forwards:\n"; readDataForwards($conn); print "Reading backwards:\n"; readDataBackwards($conn); ?>
Gli esempi di cui sopra sarà in uscita:
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5