[PHP] MySQL 테이블의 데이터 불러오기 SELECT

2022. 10. 1. 04:57Program/PHP

115_PHP MySQL 테이블의 데이터 불러오기 SELECT

[요약]

  • MySQL 테이블의 데이터를 불러오는 명령문 SELECT 에 대해 알아보자.

앞에서 테이블에 데이터를 입력했다.

이번에는 테이블에 있는 레코드를 불러오는 방법에 대해 알아보자.

데이터를 불러오는 MySQL 명령문은 SELECT 이다.

[SELECT문 사용 방법]

SELECT 필드명 FROM 테이블명;

SELECT 를 입력한 후 불러올 필드명을 입력한다.

그런 다음 FROM 을 입력하고 테이블명을 입력한다.

select는 '선택한다'는 뜻이고, from은 '~로 부터'라는 뜻이므로 '무엇으로부터 어떤 필드를 선택한다'라고 이해하면 쉽겠다.

 

myMember 테이블의 이름과 아이디 정보를 불러온다고 가정하면 다음과 같은 쿼리문을 만들어야 한다.

SELECT name, userId FROM myMember;

만약 모든 필드를 선택한다면 필드명 부분에 [*]을 입력한다.

SELECT * FROM myMember;

위의 쿼리문만으로 phpMyAdmin 또는 터미널에서 MySQL에 접속하여 이용하면 데이터를 불러올 수 있지만 php와 연동하여 테이블의 데이터를 웹페이지에 출력하기 위해서는 fetch_array() 메소드를 사용해야 한다.

 

다음은 myMember 테이블의 데이터를 가져오는 예제이다.

[예제: 118-1_selectNum.php ]

<?php
    include $_SERVER['DOCUMENT_ROOT'] . '/php/108-2_connectDB.php';

    $sql = "SELECT name, userId FROM myMember";
    $result = $dbConnect->query($sql);

    $dataCount = $result->num_rows;

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

실행결과

[코드 118-1]은 인덱스를 숫자로 지정하여 데이터를 출력했다.

이번에는 필드명으로 하여 가져와보자.

 

[예제: 118-2_selectAssoc.php ]

<?php
    include $_SERVER['DOCUMENT_ROOT'] . '/php/108-2_connectDB.php';

    $sql = "SELECT name, userId FROM myMember";
    $result = $dbConnect->query($sql);

    $dataCount = $result->num_rows;

    for ($i = 0; $i < $dataCount; $i++) {
      $memberInfo = $result->fetch_array(MYSQLI_ASSOC);
      echo "이름 : " . $memberInfo['name'];
      echo "<br>";
      echo "아이디 : " . $memberInfo['userId'];
      echo "<hr>";
    }
?>

실행결과

 

다음은 인덱스를 숫자도, 문자도 사용할 수 있는 MYSQL_BOTH를 사용한 예제이다.

[예제: 118-2_selectBoth.php ]

<?php
    include $_SERVER['DOCUMENT_ROOT'] . '/php/108-2_connectDB.php';

    $sql = "SELECT name, userId FROM myMember";
    $result = $dbConnect->query($sql);

    $dataCount = $result->num_rows;

    for ($i = 0; $i < $dataCount; $i++) {
      $memberInfo = $result->fetch_array(MYSQLI_BOTH);
      echo "이름 : " . $memberInfo['0'];
      echo "<br>";
      echo "아이디 : " . $memberInfo['userId'];
      echo "<hr>";
    }
?>

실행결과

세가지 중 어느 조건으로 데이터를 가져오더라도 결과는 똑같은 것을 확인할 수 있다.

 

 


 

 

 

초보자를 위한 PHP 200제
김태영 지음 | 정보문화사