상세 컨텐츠

본문 제목

WAS <-> DB 연결

웹 해킹의 개념

by ser-ser 2024. 10. 26. 14:47

본문

 

WAS와 DB 연결하기

앞에서 배운 개념을 익혔다면, 이제 WAS(Web Application Server)와 DB(Database)를 직접 연결하는 방법을 배워보겠습니다. WAS에서 DB의 데이터를 가져오기 위해선 "티켓"이 필요합니다. 이 티켓은 데이터베이스 접근을 허용하는 일종의 로그인 정보입니다.

$db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

이 코드의 역할을 해석해 보면 다음과 같습니다:

  • mysqli_connect: DB에 접근할 "로그인 티켓"을 발급해 주는 함수입니다.
  • (DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME): DB에 접근하기 위한 필수 항목들을 차례대로 입력해야 하며, 이 순서는 절대 변경하면 안 됩니다.

위의 코드가 성공적으로 실행되면, **$db_conn**이라는 로그인 티켓을 얻게 됩니다. 이제 이 변수를 통해 DB의 데이터를 불러올 수 있습니다.

DB 연결 설정 (상수 정의)

DB 연결을 위해 필요한 정보는 상수로 정의합니다. 이 설정은 코드를 직관적으로 만들어 편의성을 높입니다.

define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'admin');
define('DB_PASSWORD', 'student1234');
define('DB_NAME', 'test');

상수를 사용해 필수 항목을 설정하고, 이제 이 코드가 정상적으로 작동하는지 확인해 봅시다.

연결 확인 코드 작성

아래와 같이 if 문을 사용하여 연결이 성공했는지 확인하는 코드를 작성합니다. 성공하면 "pass"를 출력하고, 실패하면 "fail"을 출력하게 만듭니다.

if ($db_conn) {
    echo "pass";
} else {
    echo "fail";
}

보시는 것처럼 DB와 상호작용이 잘 되고 있습니다.

DB와 상호작용하기

DB와의 연결이 성공했으면, 이제 SELECT 문을 사용해 데이터를 불러와 보겠습니다. SQL에서 사용했던 구문을 변수에 담아 그대로 활용합니다.

이 SQL 구문을 실행하기 위해서는 mysqli_query 함수를 사용합니다. 이 함수는 첫 번째 인자로 DB 연결 티켓을, 두 번째 인자로 SQL 구문 변수를 받습니다.

위 코드를 실행하면 결과가 출력되지만, 세부 내용은 보이지 않고 object 패키지로 출력될 수 있습니다. 이는 데이터가 많기 때문입니다.

특정 데이터 불러오기: mysqli_fetch_array 사용하기

DB에서 특정 행의 데이터만 불러오고 싶다면, mysqli_fetch_array 함수를 사용해 하나의 행 데이터만 가져올 수 있습니다.

좀 더 깊게 들어가서 "name"부분 데이터를 가져오고 싶으면

위 코드에서 echo를 사용하여 name 컬럼의 데이터만 출력할 수 있습니다. [] 안에는 가져오고 싶은 컬럼 이름을 입력하면 됩니다. 또한, 조건을 추가하여 특정 데이터를 추출하고 싶다면 WHERE 문을 사용할 수 있습니다.

'웹 해킹의 개념' 카테고리의 다른 글

로그인 로직  (0) 2024.11.01
식별 / 인증  (0) 2024.11.01
Database  (3) 2024.10.26
웹 개발 기초 공부 3  (1) 2024.10.18
웹 개발 기초 공부 2  (1) 2024.10.17

관련글 더보기