Peach's CODE peach

공부한 내용을 정리중입니다. 틀린 내용이 있을 수 있습니다 : )

코딩하는 딱복

[PHP] DB에 저장된 데이터 출력하기 본문

Backend ⚙️/PHP

[PHP] DB에 저장된 데이터 출력하기

yundi 2024. 1. 3. 17:18

PHP에서는 mySQL에 저장되어 있는 레코드를 배열로 가져온다. -> fetch_array()

fetch_array()는 하나의 레코드만 가져오기 때문에 데이터 수가 많을 때는 for문을 돌려줘야한다.

 

먼저 sql문을 선언해주고 db에 연결해서 쿼리를 실행한 결과값을 $res 변수에 담아주었다.

출력되는 레코드가 여러개이므로 레코드 수를 $dataCount 변수에 담아준다.

 

당연히 for문은 데이터 갯수까지 돌려주면 되는 것! ㅎㅎ

fetch_array()함수는 아규먼트의 값에 따라 배열의 데이터형을 다르게 출력한다.

 

MYSQLI_NUM -> 인덱스를 숫자로 사용

MYSQLI_ASSOC -> 인덱스를 문자로 사용

MYSQLI_BOTH -> 인덱스를 숫자와 문자로 사용

    $sql = "SELECT name, userId FROM lyj_myMember";
    $res = $connect_db->query($sql);
    $dataCount = $res->num_rows;

    //MYSQLI_NUM
    for($i = 0; $i < $dataCount; $i++){
        $memberInfo = $res->fetch_array(MYSQLI_NUM);
        echo "이름 : ".$memberInfo[0];
        echo "<br>";
        echo "아이디 : ".$memberInfo[1];
        echo "<hr>";
    }
 

인덱스는 0부터 시작하기 때문에 0부터 출력해주면 된다.

    //MYSQLI_ASSOC
    $sql = "SELECT name, userId FROM lyj_myMember";
    $res = $connect_db->query($sql);
    for($i = 0; $i < $dataCount; $i++){
        $memberInfo = $res->fetch_array(MYSQLI_ASSOC);
        echo "이름 : ".$memberInfo['name'];
        echo "<br>";
        echo "아이디 : ".$memberInfo['userId'];
        echo "<hr>";
    }

컬럼명으로 직접 부르는 형식인데 이 방법이 제일 편할 것 같다.

    //MYSQLI_BOTH
    $sql = "SELECT name, userId FROM lyj_myMember";
    $res = $connect_db->query($sql);
    for($i = 0; $i < $dataCount; $i++){
        $memberInfo = $res->fetch_array(MYSQLI_BOTH);
        echo "이름 : ".$memberInfo[0];
        echo "<br>";
        echo "아이디 : ".$memberInfo['userId'];
        echo "<hr>";
    }

둘 다 동시에 사용 가능!

 

게시판을 만들어보니,,, MYSQLI_ASSOC만 쓰게되었다,, ㅎㅎ

'Backend ⚙️ > PHP' 카테고리의 다른 글

[PHP] 줄바꿈 DB에 저장하기  (2) 2024.01.04
[PHP] 상속  (2) 2024.01.03
[PHP] 유효성 검사  (2) 2024.01.03
[PHP] 시간 관련 함수  (2) 2024.01.02
[PHP] 문자열 관련 함수  (0) 2024.01.02