이번 글에서는 이제 author 테이블에 데이터를 추가하는 것을 해보도록 하겠습니다. 입력을 해서 서버에 전송을 해야하는 부분이 필요하기 때문에 form 태그를 통해서 만들어주도록 하겠습니다. 태그 밑에다가 이렇게 작성을 해주시면 입력을 하고 서버에 Submit을 할 수 있는 것이 생성이 됩니다. 지금은 process_create_author.php가 없기 때문에 지금 Submit을 하면 오류가 납니다. 그래서 원래 잇던 process_create.php를 복사해서 파일을 만들어줍시다. 내용을 이제 author 테이블에 있는 내용으로 변경을 해주어야 합니다. sql문과 filtered를 제외하고는 따로 바뀐 부분은 없습니다. 이렇게 해서 이번 글에서는 생성을 하는 부분을 해보았습니다.
이번 글에서는 DB 리스트에 DB를 추가하려고 할 때 누가 작성을 했는지를 추가하는 영상을 글로 옮기겠습니다. 이걸 하기 위해서 create.php에 새로운 sql문을 작성을 하려고 합니다. 이렇게 작성을 하게 되면 각 row마다 이라는 html 태그가 줄줄이 이어서 나오게 됩니다. 이렇게 작성을 하고 출력을 하면 아래와 같이 나오게 됩니다. 이 코드는 우리가 원하는 것들 중 하나를 선택해서 서버에 input하는 도구입니다. 현재는 옵션의 이름만 작성을 했는데 이 값을 어떤 값으로 서버에 넘겨주느냐~ 하는 것도 작성을 해주어야 합니다. 그 다음에 select의 name값을 지정을 해줍니다. 이렇게 지정해주는 값들은 process_create.php라는 파일로 전송이 되게 됩니다. 이 받은 값들을 테이블에..
관계형 데이터베이스가 제대로 연결이 되었는지 확인을 하기위해 웹페이지에 맨 아래부분에 누가 author인지 출력을 해보도록 하겠습니다. 그러기 위해서는 sql에 접근할 때 두 개의 테이블을 합쳐서 접근을 해야합니다. $sql의 부분을 위와 같이 바꿔주었습니다. WHERE 뒤에 topic.id라고 작성을 한 이유는 그냥 id라고 작성을 하게 될 경우 어떤 테이블의 id 값을 말하는지 애매해지기 때문에 정확하게 테이블을 지정해준 것입니다. 이제 이렇게 가져온 값들 중에서 필요한 값이 무엇인지 살펴보기 위해서 출력을 해보도록 합시다. 이 중에서 name의 값이 우리는 필요합니다. 이 name 값을 추가해보도록 합시다. 이렇게 by egoing이라고 author가 뜨게 만들었습니다. 근데 이렇게만 만들게 될 경..
데이터베이스 모델링이나 정규화라는 검색어를 통해서 데이터를 어떻게 쪼갤지에 대한 고심들을 찾아볼 수가 있습니다. 이렇게 두개의 테이블로 쪼개져 있는 데이터를 하나로 합쳐져서 저장되어 있는 것처럼 보이게 할 수도 있는 것이 관계형 데이터베이스의 탁월함입니다. SELECT * FROM topic LEFT JOIN author author테이블에 왼쪽에 topic 테이블을 놓고 두개의 테이블에 JOIN을 하겠다 라는 의미입니다. 이렇게 조인을 하게되면 데이터베이스 서버의 입장에서는 뭐 어떻게 해야되나 라는 생각이 든다. 우리가 데이터베이스 서버에게 힌트를 주어야 합니다. 두개를 결합을 할 때 topic테이블의 author id의 값과 author 테이블의 id 값이 같다라고 서버에게 알려주는 것이다. 이렇게 ..
사용자로부터 정보를 받으면서 사용자로부터 받는 정보는 오염이 될 가능성이 생깁니다. 그래서 이런것을 방지를 해줘야 합니다. 일어날 수 있는 주요한 사고는 크게 두가지 입니다. 하나는 들어오는 정보에서 문제가 있는 정보를 막아내는 것이고 다른 하나는 이미 문제가 있는 정보가 들어와 있는 상태에서 그 정보가 사용자에게 노출되는 것을 막는것. 즉 입력단과 출력단 모두에서 문제가 발생할 수 있다는 것입니다. 입력 공격의 차단을 filtering 출력 공격의 차단을 escaping 이라고 합니다. 보안에 있어서 첫번째 요소는 사용자가 입력한 정보를 철저히 불신하라는 것입니다. 그리고 어떻게 불신해야 되는가에 대한 것도 상당히 중요합니다. 이번 글에는 바로 그 불신의 기술을 알아보는 것입니다. 사용자가 입력하는 것..
테이블을 선택해서 데이터를 읽어오기 위해 MySQL Monitor에서 SELECT하면 보이는 테이블을 PHP에서도 접근을 할 수 있게 해보려고 합니다. 우선 select.php라는 파일을 새로 생성을 해서 아래와 같이 작성을 해줍시다. 제대로 연결이 되었는지 확인하고 싶은 마음에 $result 를 var_dump를 통해서 웹페이지에 출력을 해보면 이상한 것들이 뜨게 될 겁니다. 결과값에 topic 테이블의 값이 들어있는 것이 아니라 다른 이상한 것들이 들어있다는 것을 확인을 했습니다. mysqli_query의 속성을 제대로 파악을 해봐야 할 것 같습니다. 실패했을 때 false , 성공했을 때는 true를 반환하지만 이것을 쿼리로 반환을 받아서 출력을 했을 경우엔 mysqli_result라는 오브젝트로 ..
//create.php WEB HTML //index.php WEB HTML create Welcome Lorem ipsum dolor sit, amet consectetur adipisicing elit. Numquam corporis necessitatibus enim eveniet omnis perferendis eos minus accusantium! Velit impedit amet dicta ut et aperiam eos, expedita repudiandae libero sed.
첫번째. $link 첫번째 인자는 mysqli_connect의 결과를 넣어줍니다. 두번째. $query 문자열. 두번째 자리에는 sql문을 작성을 합니다. 세번째. return 값 false나 true || mysqli_result로 반환이 된다 boolean값으로 반환되기 때문에 if문으로 전송이 성공했는데 실패했는지 알아낼 수 있습니다. 위 코드대로 작성을 하면 이렇게 되는 것을 확인할 수가 있습니다. 이런 코드를 작성을 하다가 실수를 할 수도 있게됩니다. 그런 문제에 더 가까이 다가가는 방법을 설명해드리겠습니다. 원래는 함수에 그냥 작성했던 것을 변수로 빼서 작성을 했습니다. 이렇게 하면 좋은점은 나중에 문제가 발생했을 때 변수를 출력을 해서 문제를 확인할 수 있게됩니다. echo로 웹페이지에 출력..
검색엔진에서 PHP MySQL api 를 검색해봅시다. PHP를 이용해서 MySQL에 접속 사용하는 Application Programming Interface를 볼 수 있습니다. https://www.php.net/manual/en/mysqlinfo.api.choosing.php PHP: Choosing an API - Manual query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");$row = $result->fetch_assoc();echo htmlentities($row['_message']);// PDO$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password..
웹 브라우저에서 index.php를 입력을 하면 이 파일이 있는 웹 서버에 접속을 하게 됩니다. 그럼 웹 서버가 요청한 데이터의 확장자를 보고 php인 것을 확인 후 자신이 처리하지 못하는 것을 알기 때문에 같은 서버에 설치된 php라는 프로그램으로 데이터의 처리를 위임하게 됩니다. 그럼 index.php에 해당하는 파일을 읽어서 php에 해당하는 코드를 php의 문법에 따라 해석해서 동작하게 됩니다. 그런데 그 php코드에 MySQL과 관련된 함수가 들어있다면 SQL문을 MySQL서버에 던지고 이 서버가 데이터를 처리 후 PHP한테 던지면 PHP는 순수한 HTML코드를 생성 후 웹서버한테 던져줍니다. 그리고 웹서버는 웹브라우저를 통해 그 코드를 보여주는 것입니다.
- Total
- Today
- Yesterday
- visual studio code
- HTML
- 문자열
- css
- GRID
- 네트워크 프로그래밍
- 기초
- 안드로이드 스튜디오
- 생활코딩
- 언리얼엔진
- 글로
- 변수
- 객체
- javascript
- 생활코딩#MySQL
- 생활코딩#동영상을#글로#html
- 정렬
- inline
- 관계형데이터베이스
- Link
- 동영상을
- 조건문
- 언리얼엔진4
- C언어
- PHP&MySQL
- 알고리즘
- 선택자
- 차이점
- php
- TAG
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |