PHP 9일차

Fohanist·2020년 7월 15일
0

PHP

목록 보기
6/6
post-thumbnail

앞에서는 PHP와 MySQL에 기본적인 것에 대해 다뤄보았다. 이제는 이 둘을 조합하여 사용자가 데이터를 조회 및 등록하는 웹사이트를 구축해본다.

개요

웹사이트를 구축할 때 우리가 MySQL를 사용하는 이유는 DB의 콘텐츠를 동적으로 불러와 웹 생성, 브라우저 출력하기 위함이다.
1. 웹 브라우저
2. 인터넷
3. 웹서버
4. PHP
5. MySQL

인터넷에 있는 웹 브라우저가 페이지를 요청하면,
웹서버가 동작하면서 PHP스크립트를 실행한다. 그 후에 PHP는 MySQL에게 콘텐츠롤 요청하고, 그러한 콘텐츠를 PHP가 다시 받는다. 그러면 PHP는 웹 브라우저에게 HTML 출력 전송을 한다.

MySQL 사용자계정 생성

하나의 웹 서버로 여러 웹 사이트를 운영 시에는 웹사이트마다 따로 사용자 계정을 생성하는 것이 좋다. 다른 개발자와 협업할 때 각 개발자는 권한이 허용된 데이터만 다룬다.

MySQL 워크벤치에서 사용자를 새로 만들고 권한을 설정한다. 이 계정을 통해서 우리는 PHP 스크립트에서 DB 서버로 접속한다.

PHP로 MySQL 접속

PHP에서 MySQL서버로 접속 시 사용되는 도구다.
1. MySQL 라이브러리 - 예전에 쓰던거 지금 폐기됨
2. MySQLi 라이브러리
3. PDO 라이브러리
PDO를 사용하는 이유는 다른 DB서버도 같은 방식으로 다룰 수 있고, 다른 장점이 많다. 그래서 최신 PHP프로젝트는 대부분 DPO 라이브러리를 사용한다.

new PDO('mysql:host=호스트명;dbname=데이터베이스명', '사용자명','비밀번호')

함수 뒤에 두 인자는 직관적이니 넘어가자. 첫번째 인자에 대해 소개하면, DB 정보 문자열을 인자로 넘겨준 것이다. DB의 종류 우리는 MySQL, 서버의 호스트명 host=호스트명 그리고 데이터베이스명 dbname=데이터베이스명으로 구성된다.

어쨋든 이 함수는 PDO 객체를 반환한다. 커넥션 정보를 담고 있다. MySQL서버와 웹 서버는 별개의 영역에 있다. 따라서 다양한 상황에서 new PDO 구문은 정상적으로 실행이 되지 않을 수 있으니, 문제가 나오지 않도록 잘하자.

특히 PHP에서 예외처리를 잘해서 방문자에게 오류 메세지가 노출되지 않도록 해야한다.

try {
	//예외 발생 작업
}
catch (ExceptionType $e) {
	//예외 처리
}

catch 블록 코드는 try 블록의 코드 실패 시에만 실행한다.

profile
Support Full-Stack | JavaScript Developer

0개의 댓글