[MySQL+PHP] MySQL 접속후 데이터 가져오기

 

지난번에 MySQL DB로 가지고 있던 JSON데이터를 import시켜주었다.

그렇다면 이제, DB에 저장된 데이터를 가져와서 화면 상에 출력하는건 어떻게 할까?

오늘은 이에 대한 포스팅을 남겨볼까 한다.

 

1. XAMPP 로컬 서버 실행

 

 

 

2. XAMPP 루트 폴더(htdocs) 열기

htdocs 폴더에 빠르게 접근하려면 컨트롤 패널 우측에 있는 [Explorer] 버튼을 누르면 된다.

혹은 xampp 저장된 드라이브 > htdocs 폴더 열기 하는 방법이 있다.

 

3. php 파일이 들어갈 폴더 생성

 

 

htdocs 폴더에 들어왔으면, 여기에 DB 데이터를 받아올 php 파일이 들어갈 폴더를 생성해준다.

나는 점포별 데이터를 가져올 것이기 때문에, 편의상 'store' 라고 만들어줬다.

 

4. 프로젝트 폴더 안에 php 파일 생성

그런 다음에 vscode 좌측 [햄버거버튼] > [파일] > [폴더 열기] 에서 방금 만든 폴더를 열어준다.

 

 

store 폴더 안에 php 확장자 파일을 만들어주고, 다음의 코드를 입력해준다.

 

 

<?php
    $host = "localhost";
    $user = "root";
    $pw = "MySQL비밀번호";
    $dbName = "DB명";

    /* MySQL 접속 */
    $con = new mysqli($host, $user, $pw, $dbName);
    
    if ( mysqli_error($con) ) {
        echo "MySQL 접속 실패!!", "<br>";
        echo "오류 원인 : ", mysqli_error();
        exit();
    }
    else {
        echo "MySQL 접속 성공!!????????";
    }

    mysqli_close($con);
?>

 

***** 아래는 MySQL root 비밀번호 설정 방법 !!! *****

 MySQL DB에 접속해서 저장된 데이터를 가져오게 하려면 MySQL root 비밀번호를 입력해줘야 한다.

 

1. XAMPP 패널에서 MySQL Admin 접속

 

 

 

2. 어드민페이지 상단[사용자 계정] 탭 클릭 > 사용자 개요에서 [권한 수정] 클릭

 

 

 

3. [Change Password] 클릭후 비밀번호 설정페이지로 이동

 

 

 

4. 비밀번호 생성후 암호 생성

비밀번호 입력후 암호 생성란의 [생성]버튼을 클릭하면 특정 암호를 생성시켜줄건데,

그렇게 생성된 암호를 일단 복사하자.

그러고나서 [실행] 버튼을 누르면 오류가 엄청 뜰건데 당황하지 말자!???? 원래 그렇다.

 

 

???????? 아래 포스팅을 참고하면 오류를 해결할 수 있다.

 

위 과정을 통해 오류를 해결하고 다시 어드민에 접속하면 무사히 접속이 된다!!

이제 내 MySQL 로컬 서버는 강력한 비밀번호에 의해 관리된다.

 

 

****** 여기까지 !!! ********

 

무튼 이렇게 설정한 비밀번호를 아래 password 부분에 넣어준다.

MySQL 서버에 접속 성공했을 경우, 기쁜 마음을 담아 아래 같은 메시지가 출력되도록 했다.

보시다시피 잘 출력되는 모습이다 :-)

 

 

접속했으니 이제 데이터베이스 특정 테이블에 있는 데이터를 모두 조회시킨 후, 

테이블 컬럼과 매칭되는 데이터를 가져와서 화면에 출력시키라는 쿼리를 짜주면 된다.

 

아래같이 각 과정에 필요한 쿼리문을 순차적으로 입력해주면,

화면에 내가 필요한 테이블 데이터를 잘 출력시켜올 수 있다.

 

 

<?php
    $host = "localhost";
    $user = "root";
    $pw = "MySQL비밀번호";
    $dbName = "DB명";

    /* MySQL 접속 */
    $con = new mysqli($host, $user, $pw, $dbName);

    /* 테이블 저장 데이터 모두 조회 */
    $sql = "SELECT * FROM stores";

    /* DB 쿼리 수행 */
    $ret = mysqli_query($con, $sql);

    /* DB 연결 확인 */
    if ( $ret ) {
        echo "테이블 조회 성공!<br>";
        echo "튜플 수:", mysqli_num_rows($ret);
    }
    else {
        echo "테이블 조회 실패!!";
        echo "오류 원인 : " , mysqli_error();
        exit();
    }

    /* 쿼리 결과 처리 */
    while($row = mysqli_fetch_array($ret)) {
        echo "<br>";
        echo $row['idx'], " ", $row['name'], " ", $row['sido'], " ", $row['gugun'], " ",
        $row['det'], " ", $row['lat'], " ", $row['lng'], " ", $row['tel'], " "; 
    } 
?>

사용한 DB 관련 함수들 

1. new mysql("서버주소","id","비번", "db명) / (또는) mysqli_connect("서버주소","id","비번", "db명)

-> php에서 MySQL 을 연결해주는 함수다.

 

2. mysqli_query()

-> 인자로 전달받은 SQL 구문을 실행하여, 그 결과를 반환하는 함수다.

-> 2개의 인자를 받는다.

-> 이 함수는 구문 실행 여부에 따라 TRUE/FALSE 값을 반환한다.

 

3. mysqli_fetch_array()

-> 쿼리의 응답 결과 레코드(행)를 배열로 반환하는 함수다.

-> 예를들어 아래에서 $ret 결과 세트에서 한 행씩을 가져와서 $row라는 배열에 저장후, 각 필드에 대한 정보를 사용하여 배열에 접근하고 출력시키는 역할을 한다.

$connection = mysqli_connect("localhost", "username", "password", "database");
$query = "SELECT * FROM users";
$result = mysqli_query($connection, $query);

while ($row = mysqli_fetch_array($result)) {
    echo "ID: " . $row['id'] . "<br>";
    echo "Name: " . $row['name'] . "<br>";
    echo "Email: " . $row['email'] . "<br>";
}

 

4. mysqli_num_rows()

-> DB에 저장된 row(행) 데이터 개수를 구하는 함수

 

5. mysqli_error()

-> 쿼리에 오류가 있는지 여부를 확인할 수 있는 함수

-> 오류가 있다면, 오류 설명을 반환한다.

 

 

 

 

 

 

[출처] https://ziszini.tistory.com/82

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
» [MySQL+PHP] MySQL 접속후 데이터 가져오기 졸리운_곰 2024.04.18 2
148 [php] [xampp] xampp php 버전 폴더 (디렉토리) 별 설정 : Running multiple PHP versions on XAMPP file 졸리운_곰 2024.03.21 3
147 [php] [PHP] Laravel - PayPal 결제 모듈 연동하기 (2) - 백엔드 처리 file 졸리운_곰 2024.03.17 3
146 [php] [PHP] Laravel - PayPal 결제 모듈 연동하기 (1) file 졸리운_곰 2024.03.17 2
145 [php] PHP - Show JSON array in html table 졸리운_곰 2024.02.18 3
144 [php] php / string을 json으로 변환 한 뒤 값 가져오기 졸리운_곰 2024.02.18 2
143 [php] Low Code Web Content Server: Making Marks on the Digital Shore. An Anecdotal View. : 로우 코드 웹 콘텐츠 서버: 디지털 해안에 흔적을 남기다. 일화적인 견해. file 졸리운_곰 2024.02.18 3
142 [php] [xampp] [php] php의 mail() 함수로 구글 이메일 보내기 / XAMPP 서버 및 aws의 EC2 / php mail function to send Gmail at XAMPP and AWS EC2 not working / Username and Password not accepted. file 졸리운_곰 2023.09.12 7
141 [php] PHP / MariaDB / 데이터베이스 값 가져와서 출력하기 졸리운_곰 2023.06.22 7
140 [php] Start Using HTML5 WebSockets Today With a PHP Server 지금 PHP 서버에서 HTML5 WebSocket 사용 시작 졸리운_곰 2023.05.09 4
139 [php] json_encode 유니코드 한글 깨짐 해결방법 졸리운_곰 2023.02.04 22
138 PHP 카운터 만들기-[1] 졸리운_곰 2022.07.20 17
137 PHP로 카운터 만들기 졸리운_곰 2022.07.20 20
136 How To Build A Rest API Using PHP file 졸리운_곰 2022.07.15 16
135 PHP REST API Authentication Using JWT file 졸리운_곰 2022.07.15 14
134 [PHP] JWT 구현하기 졸리운_곰 2022.07.15 599
133 [php] Coppermine PHP로 제작된 "웹 갤러리" 프로그램임. 상당히 잘 만들어진 것같아 졸리운_곰 2021.07.04 37
132 [php] imagick php 7.3 windows 설치하기 졸리운_곰 2021.07.04 50
131 [php] simple Rest API : Build a Simple REST API in PHP file 졸리운_곰 2021.05.31 20
130 [php][php 수학][php 수치해석] MathPHP - Powerful Modern Math Library for PHP file 졸리운_곰 2021.05.03 20
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED