PDOStatement :: fetch
PDOStatement :: fetch - accent sur les résultats obtenus à partir de la ligne suivante (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explication
grammaire
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
D'un objet PDOStatement associée jeu de résultats obtient la ligne suivante. paramètre fetch_style POD détermine la façon dont les lignes sont renvoyées.
Paramètres
fetch_style
Comment contrôler la ligne suivante est renvoyée à l'appelant. Cette valeur doit être PDO :: FETCH_ * constantes dans une série, la valeur par défaut pour le PDO :: ATTR_DEFAULT_FETCH_MODE (par défaut PDO :: FETCH_BOTH).
PDO :: FETCH_ASSOC: retourne un tableau indexé les noms de colonnes du jeu de résultats
PDO :: FETCH_BOTH (par défaut): renvoie un résultat de tableau d'index définis noms de colonnes commençant par 0 et le numéro de la colonne
PDO :: FETCH_BOUND: retourne
TRUE
, les variables PHP et attribuer des valeurs aux colonnes dans le jeu de résultats de liaison méthode PDOStatement :: bindColumn ().PDO :: FETCH_CLASS: une requête pour retourner une nouvelle instance de la classe, les noms de colonnes de cartographie dans le jeu de résultats au nom de la classe de la propriété correspondante. Si
fetch_style
contient PDO :: FETCH_CLASSTYPE (par exemple: PDO :: FETCH_CLASS | PDO :: FETCH_CLASSTYPE ), le nom de classe est déterminée par la valeur de la première colonnePDO :: FETCH_INTO: Mettre à jour une instance demande de classe existante mappé à des colonnes dans la propriété jeu de résultats classe nommée
PDO :: FETCH_LAZY: en conjonction avec PDO :: FETCH_BOTH et PDO :: FETCH_OBJ, pour la création d' un nom de variable d'objet utilisé pour l' accès
PDO :: FETCH_NUM: un retour au numéro de colonne zéro indexées tableau de résultats
PDO :: FETCH_OBJ: Retourne un nom de propriété correspondant au résultat définir les noms de colonnes d'objets anonymes
cursor_orientation
Pour un objet PDOStatement représentant un curseur, cette valeur détermine la ligne qui est renvoyée à l'appelant. Cette valeur doit être PDO :: FETCH_ORI_ * constantes dans une série, la valeur par défaut est PDO :: FETCH_ORI_NEXT. Pour obtenir l'objet PDOStatement en utilisant les curseurs de défilement, vous devez utiliser lorsque PDO :: prepare () états prétraitement SQL, définissez le PDO :: ATTR_CURSOR attribut PDO :: CURSOR_SCROLL.
offset
Pour un paramètre cursor_orientation est défini à PDO :: objet PDOStatement représentant un des curseurs de défilement FETCH_ORI_ABS, cette valeur spécifie le jeu de résultats que vous voulez obtenir la ligne de numéro de ligne absolu.
Pour un paramètre cursor_orientation est défini à PDO :: FETCH_ORI_REL l'objet PDOStatement représentant un curseur, cette valeur spécifie l'appel PDOStatement :: fetch () avant la position du curseur par rapport à la ligne que vous souhaitez obtenir
Valeur de retour
Retour lorsque cette fonction (méthode) la valeur dépend du type d'extraction réussie. Dans tous les cas, l'échec retourne FALSE.
Exemples
Obtenez ramer avec différentes méthodes d'extraction
<?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"); ?>
Les exemples ci-dessus va afficher:
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
Utilisez un curseur extraire les lignes
<?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); ?>
Les exemples ci-dessus va afficher:
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5