본문 바로가기
WEB/PHP

[PHP] MySQL_SELECT : PDO fetch(), fetchAll();

by 겅아링 2020. 9. 8.
반응형

fetch();

: 결과를 배열로 한개씩 반환.

<?php
            try {
                $dbName = "testDB";
                $tblName = "testTBL";
                $conn = new PDO("mysql:host=localhost;dbname=${dbName}", "root", "111111");
                $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                
                $query = "select * from ${tblName}";
                $stmt = $conn->prepare($query);
                $stmt->execute();

                $row = $stmt->fetch();
                echo "<pre>";
                print_r($row);
                
            } catch (PDOException $e) {
                echo "Connection failed: " . $e->getMessage();
            } 
?>

 

결과 > 

결과를 전부 출력하려면 반복문을 사용하여 출력하기!

 

 

 

fetchAll();

: 결과를 배열로 한번에 전부 반환.

<?php
            try {
                $dbName = "testDB";
                $tblName = "testTBL";
                $conn = new PDO("mysql:host=localhost;dbname=${dbName}", "root", "111111");
                $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                
                $query = "select * from ${tblName}";
                $stmt = $conn->prepare($query);
                $stmt->execute();

                $row = $stmt->fetchAll();
                echo "<pre>";
                print_r($row);
                
            } catch (PDOException $e) {
                echo "Connection failed: " . $e->getMessage();
            } 
?>

 

결과 > 

 

 

 

 

 

fetch(), fetchAll() 의 인수로 모드를 지정할 수 있다.

 

PDO::FETCH_BOTH (default)

: 모드를 지정하지않으면  BOTH 가 default로 지정된다.

일반배열과 연관배열 두 형태로 결과값을 반환.

인덱스와 key값으로 모두 접근가능

 

 

PDO::FETCH_NUM

: 일반 배열로 결과값 반환.

인덱스로 접근 가능

 

PDO::FETCH_ASSOC

: 연관 배열로 결과값 반환.

key값으로 접근 가능

 

반응형

'WEB > PHP' 카테고리의 다른 글

[PHP] isset() , empty()  (0) 2020.09.11
[PHP]MySQL_JOIN (+ambiguous error)  (0) 2020.09.09
[PHP] MySQL_SELECT : mysqli_fetch_array();  (0) 2020.09.08
[PHP] MySQL_SELECT : mysqli_fetch_assoc();  (0) 2020.09.08
[PHP] MySQL_SELECT : mysqli_fetch_row();  (0) 2020.09.08