프로그래밍 언어/PHP

레코드 검색하기

· 코딩마이데이

PHP에서 DB 테이블에 있는 레코드를 방법에 대해 알아봅시다. 다음 예제에서는 select 명령으로 전체 레코드를 검색하며 화면에 출력합니다.

select * from friend;

 

09/ex9-5.php

<?php
    $servername = "localhost"; // 서버명
    $username = "user"; // 사용자명
    $password = "1234"; // 비밀번호
    $dbname = "sample"; // DB명

    // MySQL 연결하기
    $conn = mysqli_connect($servername, $username, $password, $dbname);

    // $sql에 전체 레코드 검색 명령 저장
    $sql = "select * from friend;"; // 11

    $result = mysqli_query($conn, $sql); // 13
 
    while($row = mysqli_fetch_assoc($result)) { // 15
        echo "이름 : ".$row["name"]."<br>";
        echo "전화번호 : ". $row["tel"]."<br>";
        echo "주소 : ". $row["address"]."<br>";
        echo "----------------------------------------<br>";
    } // 20

    mysqli_close($conn);
?>

ex9-5.php의 실행 결과

 

 

11 $sql에 select 명령으로 전체 레코드를 검색하는 명령을 지정합니다.

 

13 mysqli_query() 함수를 이용하여 $sql에 저장된 실행한 다음 그 결과를 $result에 저장합니다. $result는 다음과 같이 friend 테이블의 모든 레코드 정보를 담고 있습니다.

 

15~20 while($row = mysqli_fetch_assoc($result)) {
        echo "이름 : ".$row["name"]."<br>";
        echo "전화번호 : ". $row["tel"]."<br>";
        echo "주소 : ". $row["address"]."<br>";
        echo "----------------------------------------<br>";
    }

 

while문이 시작되면 mysqli_fetch_assoc($result)를 실행하여 $result에서 첫 번째 레코드를 가져와 $row에 저장합니다. $row["name"]은 name 필드의 값 '홍길동'을 의미합니다. $row["tel"]은 tel 필드의 값 '01012345678'을 나타냅니다. 그리고 $row["address"]는 '경기도 수원시 권선구 온정로 123'을 나타냅니다.

 

이러한 방식으로 while 루프가 반복되면서 실행 결과에서와 같이 friend 테이블의 모든 레코드에 대해 name, tel, addresses 필드의 값을 화면에 출력합니다.

 

mysqli_fetch_assoc(결과)

mysqli_query()를 실행하여 얻은 결과에서 하나의 레코드를 가져옵니다. 가져온 레코드는 연관 배열(Associate Array) 형태로 되어 있습니다.

 

  • 결과 : mysqli_query()를 실행하여 얻은 결과

이번에는 friend 테이블에서 '윤채린'의 전화번호를 가져와 출력하는 방법에 대해 알아봅시다. '윤채린'의 이름과 전화번호를 가져오는 SQL 명령은 다음과 같습니다.

select name, tel from friend where name='윤채린';

 

09/ex9-6.php

<?php
    $servername = "localhost"; // 서버명
    $username = "user"; // 사용자명
    $password = "1234"; // 비밀번호
    $dbname = "sample"; // DB명

    // MySQL 연결하기
    $conn = mysqli_connect($servername, $username, $password, $dbname);

    // $sql에 '윤채린'의 이름, 전화번호 검색 명령 저장
    $sql = "select name, tel from friend where name='윤채린';"; // 11

    $result = mysqli_query($conn, $sql); // 13
    $row = mysqli_fetch_assoc($result); // 14
    
    echo $row["name"]."의 전화번호 : ".$row["tel"]."<br>"; // 16

    mysqli_close($conn);
?>

ex9-6.php의 실행 결과

 

11 $sql에 name 필드가 '윤채린'인 레코드의 이름과 전화번호를 검색하는 명령을 저장합니다.

 

13 mysqli_query() 함수를 이용하여 $sql에 저장된 SQL 명령을 실행한 다음 그 결과를 $result에 저장합니다.

 

14 mysqli_fetch_assoc($result) 함수로 $result에 있는 한 행의 레코드를 연관 배열 형태로 가져와 $row에 저장합니다.

 

16 $row["name"]은 '윤채린'의 겂을 가지고, $row["tel"]은 01059856767'의 값을 가집니다. echo 문으로 실행 결과에서와 같은 냉을 출력합니다.

 

'프로그래밍 언어 > PHP' 카테고리의 다른 글

레코드 정렬하기  (0) 2026.06.27
레코드 삽입하기  (0) 2026.06.25
PHP에서 DB 테이블 생성하기  (0) 2026.06.24
MySQL 서버 접속하기  (0) 2026.06.24
MySQL API란?  (0) 2026.06.24