Flutter (5) Server Build - MySQL & PHP

Huisu·2023년 3월 11일
0

Flutter

목록 보기
5/21
post-thumbnail

MySQL

MySQL

  • VSCode Extension에서 MySQL 설치

    • 상단에 뜨는 두 가지 모두 설치
  • 아이콘 클릭 후 Create Connection

  • docker-compose.yml 파일에서 작성한 environment, ports 정보 저장한 뒤 connect

  • 생성된 DB에서 + 버튼을 누른 뒤 간단하게 현재 시간을 찍는 SQL문 작성

  • Excute 누르면 Board라는 테이블이 만들어지고 정보들이 있는 모습

  • board 우클릭 후 Gemerate Mock Data 누른 뒤 MockCount 50으로 데이터 생성

    • 데이터가 생성된 모습

PHP Code - MySQL Connect

  • mysql 정보들을 변수로 저장하고 연결 객체에 parameter로 제공하여 연결 객체 생성

  • 연결이 잘 이루어지는지 확인하는 코드 작성 후 호스트된 웹에서 확인

  • db_setup으로 파일명 변경

PHP

PHP Code - query.php

  • DB의 정보를 json 파일로 받아와서 띄우는 코드

    <?php
    include('db_setup.php'); //db_setup 파일 가져오기
    
    $results = array(); //array 형식으로 파일 받기
    
    $result = $conn->query("SELECT * FROM board"); // board table 에서 정보 가져오기
    while ($row = $result->fetch_array(MYSQLI_ASSOC)) { // key -> column으로 바꾸는 작업
        $results[] = $row();
    }
    
    // 파일 띄우기
    header('Content-type: application/json'); //json 파일로 받아오기
    echo json_encode($results, JSON_NUMERIC_CHECK);
    
    $conn->close(); //db 닫기
    ?>

PHP Code - insert.php

  • 새로운 데이터를 추가하는 php파일 작성

     <?php
    include('db_setup.php'); //db 생성 파일 참고
    
    $content = $_GET[content]; //content라는 parameter를 통해 들어오는 정보 저장
    
    $sql = ="INSERT INTO board (content) VALUES ('$content')"; //SQL문 작성
    
    if ($conn->query($sql)) { //쿼리문 무사히 실행되면
        echo "Insert New Record"; //출력
    }
    else { //만약 문제가 생겼다면
        echo $conn->error; //error 출력
    }
    
    $conn->close();
    ?>

0개의 댓글