생활코딩 PHP와 MySQL의 연동 - 데이터추가하기 > PHP

PHP

PHP Web Programming 강의 리스트

생활코딩 | PHP와 MySQL의 연동 - 데이터추가하기

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 PHP강의 청각장애인을 위한 자막
15444116157142.jpg

 이번 시간에는 이 저번 시간에 이어서 사용자가 전송한 데이터를 받아서

그것을 처리하는 파일을 알아보도록 하겠습니다 저는 p 프로세스 점 php
라는 파일에
아 인써트 딜리트 모디파이 이런 기능들을 다 모아놨습니다
자 여기 있는 어 코드를 한번 같이 보시죠
자 그럼 프로세스 전 php 는 요렇게 생겼습니다
자 요렇게 생겼구요 이 밑에 있는 코드는 보지 마시고 위에 부터 하나하나
차근차근 살펴보겠습니다
자 저는 윈도우에서 마이 sql 모니터로 서버 한번 접속을 해보겠습니다
mysql - ust 에 - p1 엔젤 1 - h 로컬 ost
자 요건 무슨 뜻이죠 제가 로컬 호스트로 코러스 트는
어 이 마이 sql 모니터 라고 하는 프로그램
클라이언트와 서버가 같은 컴퓨터에 설치되어 있다 라는 뜻이죠
그리고 u 루트 111
아이디어 패스워드 리며 이용해서 인증을 하는 것이죠 자 이 얘기는 뭐냐면
mysql 클라이언트
mask 클라이언트가 데이터베이스를 섭 그 제어 하기 위한 첫 번째
스텝은
어 접속이 접수
그 다음에 우리는 유즈 하고서
db 에 이름을 사용하는 걸 통해서
사용하고자 하는 데이터베이스
어제가 비유한 것은 폴더 줘 자 사용하고자 하는 데이터베이스를 선택합니다
그 다음에 sql 을 통해서
테이블을 제어 하게 되죠
자 이제 mysql 클라이언트 는 항상 이런 순서로 제어를 하게 됩니다
어떤 mysql 클라이언트 검붉은 하구요
자 그러면 우리가 php 를 이용해서 데이터베이스에 접속할 때도 이런
방식을 따라야 될까요 앉더라도 될까요
따로 달 따라야 되기 때문에 제가 이렇게 말씀 드리는 거죠
자비 hp 가 디위 를 사용할 때도 접속 tv 선택 그리고 sql 테이블
제어 라고 하는 이 순서를 따라야 됩니다
자 그때 바로 이 접속에 해당되는 것
cp hp 의 명령어로 는
마이 sql
접속의 나한텐 게 페이지 표에서는 빠이
sql 언더바 커넥트 입니다
이런 함수를 이용해서
2 접속 에 접속을 하게 되는 것이고요 php 가 자 마이 sql
언더바 셀렉트
언더바 db 하고 이렇게 여기에다가 db 에 이름을 적어주는 것이 db
를 선택하는 겁니다
그리고 my-sql 언더바
커리 라구 이렇게 적는 것이 그리 거기다가 sql 맨 인써트
업데이트
이러한 명령들을 여기다가 넣어줘서 실행하면 그것이 sql 테이블을
제어하는 것에 해당 된다는 것이죠
예 그래서 mysql 클라이언트
mysql 클라이언트 가
와 sk 클라이언트가 동작하는 것과 php 가 동작하는 것이 결과적으로
같습니다
그 얘기는 무슨 뜻이냐면
자의 맥락에서 우리가 사용하는 php 는
2 mysql 클라이언트 가 된다는 얘기입니다
잘 글씨가 좀 잘 안써 졌는데요 무슨 뜻인지 아시죠
자 그리고 psp 가 마이 sql 을 클라이언트가 돼서
mysql 서버를 제어한다. 라는 말을 일단 제가 던져놓고
그리고 왜 그런지는 여러분이 수업을 들으면서 직접 판단해 보시면 될 것
같아요
예 그 얘기를 이제 아치 해보죠
자 제일 먼저 뭐가 나오냐 하면 자 보시는 것처럼
mysql 커넥트 라고 하는
아까 제가 방금 설명드렸던 함수가 나옵니다
자 적 함수는 위에 mysql 커넥트 란 함수를 제가 정의한 적이 있나요
정리한 적이 없죠 자 그럼 누가 정의 있을까요
요거는 mysql 아니 php 개발자 들이 그 php ng 를 만든
개발자들이
php 애플리케이션을 만드는 개발자가
데이터베이스에 접속할 수 있도록 구현해서
주 제공한 그런 내장 함수 라고 하는 겁니다 내장되어 있는 향수 라는
거죠
즉 여러분은 요 함수를 직접 정의해 쓰는 것니라 정의 되어 있는
함수를 호출해서 사용만 하면 된다는 겁니다
그럼 알아서 그 복잡한 과정을 알아서 처리하게 된다는 거죠 자 mysql
커넥트 라고 하니 함수는 용법이 있어요
자 첫번째 인자는
번째 인자는 호스트가 들어가야 됩니다
자 그리고 두번째 인자는
유전 mui 됩니다
그리고 세번째 인자는
비밀번호가 오도록 약속되어 있습니다
그리고 이 약속은 여러분들이 php 메뉴얼을 찾아 보셔야 되는 거예요
아시겠죠 그 매년 2월에 그렇게 쓰라고 적혀있어요
예 제가 수업에 수업 이라서 여러분들께 이 각각의 의미를 설명 드리기는
하지만 실제로 나중에 어떤 문제를 해결할 때는 직접 매뉴얼이나 이런
것들을 찾아서 10 하셔야죠
자 이렇게 해서 지금 제가 설명드린 2구간
음 앙큼이 php 의해서 실행될 때
php 에서 실행될 때 어 이것은 마치 우리가 마이 sql 클라이언트인
mysql 모니터에서
이런 명령을 내린 것과 같 갖습니다
팔보채 더
성신이 나갔네요 지금 마침 아침에 이른 시간인데
제가 자다 일어나서 서울 안되고 있어서 좀 정신이 없네요
그 좀 감기가 들어서 목소리가 좀 많이 가라앉아 있을 거에요 자 로트
asp 1111 - h
로컬
포스트
자 요 것과 이것은 정확하게 같은 의미입니다
php 가 내부적으로 데이터베이스 서버에 접속하는 일을 해주는 겁니다
그렇기 때문에 이 맥락에서 이 php 애플리케이션은 php 는
데이터베이스의 서버에 대한 클라이언트가 된다는 것이죠 자 그 다음에는
mysql 셀렉트 db 가 나왔어요 그리고 인자로 open 튜토리얼 스가
나왔는데 이것은
이것과 같습니다
요 것과 요것은 정확하게 같습니다
쟈 다시 말해서
요것이 실행 됐다는 것은 여기서 이 상태에서 제가 엔터를 친 것과 같구요
그리고 여기 이뇨 구문이 실행이 되는 것은 이 상태에서 제가 여기다가
유즈 분 tutorials 라고 입력하는 것과 정확하게 같습니다
그 다음에 이제 비로서 우리가 sql 문 입력할 수 있는 상태가 되는
것이죠 자 그다음에 스위치 많이 나왔는데요 제가 조건문 부분에 스위치
오늘 일부러 설명드리지 않아서
있을 시 문을 잘 모르실 수도 있을 것 같아요 겸사겸사 에서 제가
있을 지문에 대한 문법을 조금 설명을 드리면
여긴 1 스위치 문은 이것과 똑같이 변경할 수 있습니다
자 밑에 제가 똑같은
의미의 조건부 늘 써보겠습니다
만약 이 프
이퀄
썬더스 줘
자요 거라면
이렇게 되고 자 브레이크는
이렇게 중 가루가 끝나는 것과 같은 의미입니다
자 ls ef
그래도
이렇게 해서 5
delete p 라면
그리고 sef 요렇게 해서
이걸 3개면 정확하게 같은지 확인 하는 거죠
두개나 세개 나니 맥락에서는 큰 차이는 없습니다
하지만 또 제가 가급적이면 3개를 쓰라고
얘기했던 입장이라 서 요렇게 제가 사는 겁니다 자 이렇게 해서 여기에
있는데 엘리트 ks 뒤에 있는 요걸 카피해서
니었구요
괴짜 여기에 있는것을 카피해서
이 안에 됐습니다 그리고 지워 버리죠
자 이렇게 되면 이 위에 있는 k 20 과
그리고 밑에 있는 이프 문은 정확하게 같은 의미를 갖습니다
즉 스위치 스위치 라고 하는 것은 일종의 조건 분입니다
조금은 그리고 있을지 조건 문은 어
요 괄호 안에 들어온 어떤 값과 2케이스 뒤에 따라오는 값을 비교해서
만약에 괄호 안에 들어오는 값이 케이스 뒤에 따라오는 값과 일치하는
구간을 실행을 시켜 주고
것이 끝날 때는 반드시 브레이크를 걸어 줘야 됩니다
만약에 브레이크를 걸지 않고 이렇게 쭉 나가게 되면
예 밑에 이게 그냥 쭉 실행이 됩니다 예
아시겠죠 브레이크를 만날 때까지 실행이 된다는 겁니다
자 그렇게 해서 제가 스위치 원에 대한 설명을 간단하게 들었으니까
여러분 있을지 모를 사용하실 수 있을 겁니다 자 밑에 있는 요중 가로
잘못된 거 든 요 없어야 되죠 자 이 꿈을 지어 버리겠습니다
자 그러면 이거 무슨 뜻이냐면
자 여기에 있는
딸라 언더바 켓 모드 라고 하는 것은 제가 옛날에 품 시간에 설명 드렸던
기억이 있는데요
자 달 라운드가 계시 라는 것은 사용자가 전 소만 데이터가
갭 방식으로 전송 됐을 때
갭 방식으로 전송된 데이터가 담겨 있는 약속되어 있는 특수한 변수 특수한
변수 고 접 연수 안에는 배열이 들어가 있죠
그리고 모두 라고 하는 것은 어 모드란 이름을 갖고 있는 사용자가 이
php 애플리케이션으로 전송한
모드 라고 하는 값이 요 안에 들어가 있게 됩니다
제 그러면 우리가 갯수로 밭 받았는데 뭔가 좀 이상하게 있습니다
어떤게 이상 하냐면 자인 부천 php 를 보면 우리는 분명히 포스트
방식으로 데이터를 전송 했는데 왜 데이터를
갭 방식으로 봤느냐 라는 궁금증이 생길 수가 있습니다
자 제가 갭 방식은 무엇이라고 했죠
개 방식은 url
뒤에 물음표 그리고 모드 는
뭔 뭐 이런식으로 url 에 란 의 값을 전달할 포함해서 전달하는 방식
이 바로 개방시 라고 말씀드렸습니다
그럼 우리가 아까 그 이 액션 속성의 프로세스 점 php 에 물음표
모드는 인써트 라고 요렇게 제가 해 놨기 때문에
자 요것은 갭 방식으로 데이터를 전송 하면서 동시에 포스트 방식으로
데이터를 전송 하기도 하는 겁니다 자 이 두가지 방식은 갯가 포스트는
둘중에 하나만 쓸 수 있는 것니라 병행해서 사용할 수 있는 데이터
전송 방식 이라는 것을 알 수가 있죠
자 그럼 다시 프로세스의 점 php 로 와서
자 여기에 들어오는 값이 뭔가요
여기 들어오는 값은 자요 걸 봤을 때 여기 있는 요금을 봤을 때
인써트 라고 하는 값이 들어오겠죠 그러면 여기에 있는 4s 점 php
자 이 구간은 자 요 변수의 값은
딘 써 트가 되는 거죠
그러면 이 인써트 라고 하는 요 이름과 일치하는 케이스 는 바로 긴
인써트 가 되니까
여기 있는 구간이 실행이 됩니다 언제까지 브레이크를 만날 때까지 자
아셨죠 자 그럼 요 밑에 있는 요 부분이 실행이 되겠죠 마이 sql
언더바 커리
mysql 언더바 커리 커리는 인자로 인자로 여러분이 데이터 3
데이터베이스 서버에 전송하려고 하는 sql 문이 들어갑니다
자위 있는 요거 sql 문이 줘
자외 기는 무슨 뜻이냐면 여러분이 마치 mysqli 클라이언트에서
insert int top
뭐 타이트
머플러 몰라 이렇게 입력해서 엔터를 땅 치는 것과
여기에 mysql 쿼리 라고 되어있는 요 내장 함수를 이용해서 그 인자로
요렇게 sql 문을 전달하는 것은 정확하게 같은 것이라는 뜻입니다
자 그럼 요 sql 문이 왜 sql 문을 같이 한번 자세하게 살펴보죠
자신 줄바꿈이 나 조금 눈프실 텐데 잘 찾아보시면
이해하실 수 있습니다
자 우선
여기서부터
자 일단 그림으로 그래 이제 않겠네요
자 여기서부터
그만큼 2
mysql 쿼리 라고 하는 함수의 전달된
sql 문입니다
자 여기 있는 제가 이렇게 동그라미 친 이 부분의 내용이 sql 문이
돼서
mysql 쿼리 로 전달되고 그 결과가 리조트의 담기게 되는 겁니다 자
그럼 여기에 있는 요 문장이
최종적으로 어떤 모습이 되는지 여러분이 좀 쉽게 파악하려면
자 이렇게 sql 이란 변수를 썰어 주고요
그리고 s2 에 대한 변수를 변수에 값을 여러분이 지정을 해 주시면
sql 문이 요만큼 sql 문이 sql 이라고 하는 전수에 담기고 요
변수에 담겨 있기 때문에 그것은 쿼리로 질의를 할 수도 있고 그 쿼리가
어떻게 출력될 것인지를 어떤 어떤 결과물을 만들어내는 것인지를
여러분이 화면에 출력하는 것도 할 수가 있는 거죠
요 분들 이제 아시겠죠 자 그럼 제가 얼굴을 한번 실행을 시켜 보겠습니다
그래서 대부분 테스트 본 분도 테스트 그리고 질이 보내기를
자 본문은 dsc 3 목은 tit lee 로 하고
지리 보내기를 누르면
자 화면이 바뀌어 버렸는데 자 요거를 헤더 헤더 라고 되어있는게
어 데이터를 추가한 다음에 리스트 첨 php 글 목록을 보여주는 페이지로
사용자를 보내 버리는 게 요 헤더 이쁘거 역할입니다
요거 제가 없애버려야 g 우리가 입력한 정보를 볼 수가 있어요
자 이렇게 해서 제가 입력한 이까 자 이런 결과가 나왔죠
인써트 in2 top sites com 크레이트 제가 입력한 title
description
나오가 이렇게 나올겁니다
자 그러면 다시 코드로 한번 들어가 보죠
자 여기에 보시면 제가
여기 있는 작은 따온 큰따옴표 와 큰 따옴표 사이에 구간이
문자 줘 문자
문자 입니다 그런데 여기에 작은 따옴표 를 붙인 것은
밸류 스 안에 들어가는 값이 요렇게 되기 때문이죠
자바로 요걸 표시해 주기 위해서는
요렇게 적어 주셔야 됩니다 자 점은 문자 문자를 결합하는 연산자 줘
그다음 mysql 언더바 리얼 2 이스케이프 스트링 이라는 것이 나옵니다
이것은 보안과 관련되어 있는 내용입니다만
여러분이 mysql 이스케이프 스트링 이라고 하는 것을 사용자가 입력한
밥값을 사용자가 입력한 값을 이 함수로 받아서 이 함수가 리턴한 값을
입력하지 않으면
어 공격의 대상이 될 수가 있습니다
자 그 이유는 제가 여기 설명들이 우리 흐름이 좀 흔들리기 때문에 제가
요걸 어떻게 신 하겠습니다
울 살 코딩 수업 중에 php 고급 수업으로 들어가보시면
자 이렇게 보안 파트에 sql 삽입 공격 이라는 것이 있습니다
웨 스 크 의사를 공격이라는 것을 잘 읽어보시면 왜 mysql 리얼
이스케이프 스트링 일하는거 써야 되는지 가 나와 있으니까요 꼭 한번 기회
되실 때 보시고요
만약에 이걸 못 봤다 라고 한다.면 여러분이 반드시 사용자가 입력한 정보
요거 사용자가 입력한 정보 줘 그 정보는 어 그 이유가 무엇인지를
이해하고 못하고를 떠나서 꼭 mysql 리얼 is 케이프 스트링을 감싸
준다 라고 하는 것을 알고 그렇게 사용하시길 바랍니다
그리고 나중에 기회가 될때 자차로 왜 저게 공격의 대상이 되는가 라는
것을 여러분이 알아 보시면 되는 겁니다
간단하게 말씀드리면 여기 있는 요 정보는 사용자가 입력한 정보 줘
사용자가 입력한 정보 라고 하는 것은 결국 에 사용자가 sql 문을
이해하고 있다면 sql 문을 조작할 수 있는 그
2 sql 문 자체의 문법적으로 해석되는 요소를 이 안에 추가해서 공격을
할 수가 있다는 겁니다 고 정도만 언급하고 넘어가게 요 자 이렇게 타이트
그리고 디스크리트 전에 받고 나오라고 했을 때 sql 문이 완성이 되고
그 sql 문이 바로
피오라는 거죠
이거죠 요기에 입력이 됐습니다
그 다음에 그것을 이렇게 만들어진 sql 문을
이렇게 마이 sql 쿼리의 인자로 놓게 되면
예 그게 데이터베이스 서버에 지리가 되면서 그 결과가 리조트의 담기게
됩니다
그런데 우리는 데이터를 조회 한 것니라 데이터를 추가 한 것이기
때문에
리조트를 따로 쓸리는 지금은 없습니다 물론 쓸 수도 있어요 정말로
들어가는지 를 좀더 엄격하게 체크하는 사용할 수도 있지만 일단 저는
커리를 커리에 대한 질의를 끝냈고 여기까지 에서 데이터베이스
예 php 가 접속하는 거에 대한 구문을 끝내려고 끈에
보이는 거예요 자 그 다음에 마지막에 있는 요 헤더
그리고 로케이션 그리고
점 php 라고 하는 것은 이
http 제가 이게 뭐라고 했죠
하이퍼텍스트 트랜스 포 프로토콜 이라고 했죠 즉 html 문서를
전달하기 위한 통신 귀하 끼 라고 말씀드렸죠
바로 이 http 프로토콜의 헤더 에 해당되는 부분을
여러분이 직접 작성하는 함수가 했더라 는 함수입니다
그리고 그 헤더에 로케이션 리스트 점 php 라고
여러분이 어 작성을 해서 서버 쪽으로
어 서버가 브라우저에게 서버 가 자 여기서 얜 서버 는
그리고 웹브라우저가 있을 때 여러분이 웹브라우저를 통해서 프로세스 전
ph 필요 청하 줘 그러면 바로 여기 있는 요 코드가 프로세스의 점
php 코드 잖아요 근데 코드가 헤더 헤더 라고 하는 이 함수가 실행이
되면 이 함수가
여러분이 웹브라우저 에게 응답할 때 예 요인이 함수가 실행은 프로세스 첨
php 가 실행한 결과를 웹브라우저 게 응답할 때 응답하는 http
re http 메시지의 헤더에 로케이션 리스트 점 php 라는 값이
딸려서 전달이 됩니다
예 그럼 웹브라우저는 로케이션 리스트 점 php 라는 것을 보고 어떤
어떻게 동작하면
자동으로 바로
사용자를
바로 리스트 점 php 로 요청을 하도록 약속되어 있습니다
즉 또 케이션 리스트 점 php 라는 것을 보면 웹브라우저는
예 best 점 php 라는 것을 요청을

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu