ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹기초 12주차
    보안/WEB 2024. 3. 13. 16:45

    (15) WEB3 - PHP & MySQL : 1.수업소개 - YouTube

    하나의 파일 안에 본문, 이름, 시간, 방문자의 댓글 등을 저장하고 싶고 글 목록 순서 정렬 등을 하고 싶어졌다. 정보의 양과 종류, 사용자의 증가로 문제점이 많이 생겨났다. 데이터베이스를 이용하면 문제를 해결할 수 있다.


    웹브라우저의 사용자가 index.php 라고 입력하면 웹브라우저는 index.php라는 파일을 가진 웹서버에 접속한다. 웹서버는 처리할 수 없으므로 php라는 프로그램에 index.php 의 처리를 위임한다. php 는 파일을 읽고 해석해 동작한다. 그런데 php 코드 중에 mysql 함수가 포함되어있으면 php는 mysql 서버에 sql 문을 넘겨준다. mysql 서버는 그 sql문에 적힌대로 동작해 그 결과를 php 에 알려주면 php는 순수한 html 코드를 생성해준다. 웹서버는 그 html 코드를 웹브라우저에 전송하는 것이다.

    서버에는 웹서버와 php, mysql이라는 소프트웨어가 있다.

    즉 데이터베이스가 가진 데이터를 효율적으로 관리할 수 있다는 점과 웹의 접근성으로 현대적인 애플리케이션을 만들 수 있다. php는 이 맥락에서 웹과 mysql이라는 데이터베이스를 붙이는 역할을 하게 되며 이런 기술을 미들웨어 라고도 부른다.

    • mysqli_query: 데이터베이스가 입력값을 받아 php에게 응답하면 php가 html 코드로 만들어준다.
    • exit: php 종료

    • php-mysql 원리

    사용자가 index. php라는 파일을 접속하면 파일이 웹서버에게 가고 웹서버는 php에게 요청한다. php는 명령어들을 이용해 mysql 서버에서 여러가지 sql문을 전송한다. 이 맥락에서 php는 mysql 서버에 대해 클라이언트로 동작한다. mysql이 데이터를 php에게 돌려주면 php는 정보를 받아 최종적으로 웹브라우저가 해석할 수 있는 순수한 html을 프로그래밍적으로 동적으로 생산해 웹서버에게 전달하면 웹서버가 웹브라우저에게 전송한다.

    순수한 웹페이지를 웹 브라우저에게 전송하는 역할은 웹 서버와 mysql이라는 데이터베이스 사이에서 php는 미들웨어라고도 한다.



    저장할 표는 topic.

    id, title, description, created 를 가지도록 만들어보자.

    • id는 자동으로 증가
    • title은 짧은 텍스트
    • description은 긴 텍스트
    • created는 날짜 등

    2. 테이블 생성

    id를 primary key 로 하면 생기는 장점

    • id 값 중복성 제거
    • 데이터를 id 값을 바탕으로 빠르게 데려올 수 있음

    • desc topic: topic의 구조를 보여줌


    (15) WEB3 - PHP & MySQL : 4.PHP Client로서 MySQL - YouTube

    mysql 서버를 제어하려면 mysql monitor로 제어했다.

    이 둘의 관계는, mysql모니터에 직접 sql문을 입력하면 mysql 서버에 sql문이 요청되고 그 결과를 mysql 서버가 모니터에게 응답해준다.

    mysql모니터는 mysql server에 대해 클라이언트이다.

    php도 mysql서버에 대해 클라이언트 역할로 동작할 수 있다. php에서 제공하는 함수를 이용하면 php가 클라이언트가 되어서 mysql 서버에 sql문을 전송하고 받아와서 작업을 처리할 수 있다.


    (15) WEB3 - PHP & MySQL : 5.MySQL API 찾기 - YouTube

    php를 이용해 mysql에 접속하는 방법으로 API 중 PDO_MySQL 를 사용을 추천한다.

    강의에서는 mysqli를 사용한다.


    mysqli_connect("localhost") 에서 큰따옴표 사이에는 , 를 기준으로

    1. mysql이 설치된 컴퓨터의 도메인이나 ip 주소

    2. 사용자 이름

    3. mysql 비밀번호

    4. 데이터베이스 이름


    (15) WEB3 - PHP & MySQL : 6.2.mysqli_query - YouTube

    mysql_query을 사용한다.

    에러가 나서

    INSERT INTO topic (title, description, created) VALUES('MySQL', 'MySQL is ..', NOW()); 를 직접 입력해주었는데, 10강에서 코드를 써보니 해결되었다.


    명령프롬프트에서도 입력하면 알 수 있다.

    mysqli_query($conn, $sql); 을 사용하면 어떤 에러가 나왔는지 쉽게 알 수 있다.

    +


    (15) WEB3 - PHP & MySQL : 7.활용 - 글생성 - YouTube

    form action="process_create.php" 를 통해 사용자가 입력한 정보 전송하게 한다.

    데이터 전송 시 post 방식으로 진행한다.

    잘 전송되었는지 확인하기 위해 새 파일을 만든다.

    sql문 작성

    '보안 > WEB' 카테고리의 다른 글

    웹기초 13주차  (0) 2024.03.13
    웹기초 11주차  (0) 2024.03.13
    웹기초 10주차  (0) 2024.03.13
    웹기초 9주차  (0) 2024.03.13
    웹기초 8주차  (0) 2024.03.13
Designed by Tistory.