PDOStatement :: 가져 오기
PDOStatement이 :: 가져 오기 - 다음 행에서 얻은 결과에 초점을 (PHP 5> = 5.1.0, PECL의 PDO> = 0.1.0)
설명
문법
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
PDOStatement 객체 관련 결과 세트에서 다음 행을 가져옵니다. fetch_style POD 매개 변수는 행이 반환되는 방법을 결정합니다.
매개 변수
fetch_style
어떻게 다음 라인을 제어하는 방법은 호출자에게 리턴됩니다. 이 값은 일련의 PDO :: FETCH_ * 상수이어야의 PDO :: ATTR_DEFAULT_FETCH_MODE (기본 PDO :: FETCH_BOTH)에 대한 기본 값입니다.
PDO :: FETCH_ASSOC는 : 결과 집합의 배열 인덱스 열 이름을 반환
PDO :: FETCH_BOTH (기본값) : 인덱스 배열 결과 집합 열 이름은 0과 열 번호로 시작하는 반환
PDO :: FETCH_BOUND는 : 반환
TRUE
, PHP 변수 및 바인딩 PDOStatement :: bindColumn () 메소드를 결과 집합의 열에 값을 할당합니다.PDO :: FETCH_CLASS는 : 요청이 해당 속성의 클래스 이름으로 설정 결과에 클래스 매핑 열 이름의 새 인스턴스를 반환합니다. 경우
fetch_style
PDO :: FETCH_CLASSTYPE 포함 (예 : PDO :: FETCH_CLASS | PDO :: FETCH_CLASSTYPE을 ), 클래스 이름은 첫 번째 열의 값에 의해 결정됩니다PDO는 :: FETCH_INTO는 : 결과 집합 클래스라는 이름의 속성에 컬럼에 매핑 된 기존의 요청 클래스 인스턴스를 업데이트
PDO :: FETCH_LAZY : PDO :: FETCH_BOTH 및 PDO :: FETCH_OBJ와 함께, 객체 변수 이름을 만드는 액세스하는 데 사용
PDO :: FETCH_NUM : 결과 집합 배열의 제로 인덱스 열 번호에 반환
PDO :: FETCH_OBJ 방법 : 결과 집합 열 이름 익명의 객체에 해당하는 속성 이름을 돌려줍니다
cursor_orientation
스크롤 커서를 나타내는 PDOStatement 객체의 경우,이 값은 호출자에게 리턴되는 행을 결정합니다. 이 값은 PDO :: FETCH_ORI_ * 일련의 정수이어야합니다, 기본값은 PDO :: FETCH_ORI_NEXT이다. PDO는 :: () 전처리 SQL 문을 준비 할 때 화면 이동 커서를 사용하여 PDOStatement 객체를 얻으려면, 당신은 사용해야은 PDO :: ATTR_CURSOR는 PDO :: CURSOR_SCROLL 속성을 설정합니다.
오프셋
cursor_orientation 매개 변수가 PDO로 설정을 위해 :: 스크롤 커서 FETCH_ORI_ABS를 나타내는 PDOStatement 객체는,이 값은 결과가 당신이 절대 줄 번호 라인을 얻으려면 설정을 지정합니다.
cursor_orientation 매개 변수가 PDO :: FETCH_ORI_REL로 화면 이동 커서를 나타내는 PDOStatement 객체를 설정 한 경우,이 값은 당신이 얻을하려는 행에 대해 통화 PDOStatement :: (가져 오기) 커서 위치 이전을 지정합니다
반환 값
다시이 함수 (메소드) 값은 성공적으로 추출 유형에 따라 달라집니다 때. 모든 경우에, 실패는 FALSE를 반환합니다.
예
다른 추출 방법으로 행하세요
<?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"); ?>
위의 예는 출력을 것이다 :
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
행을 페치 스크롤 커서를 사용
<?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); ?>
위의 예는 출력을 것이다 :
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5