앞에서 배운 개념을 익혔다면, 이제 WAS(Web Application Server)와 DB(Database)를 직접 연결하는 방법을 배워보겠습니다. WAS에서 DB의 데이터를 가져오기 위해선 "티켓"이 필요합니다. 이 티켓은 데이터베이스 접근을 허용하는 일종의 로그인 정보입니다.
$db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
이 코드의 역할을 해석해 보면 다음과 같습니다:
위의 코드가 성공적으로 실행되면, **$db_conn**이라는 로그인 티켓을 얻게 됩니다. 이제 이 변수를 통해 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와의 연결이 성공했으면, 이제 SELECT 문을 사용해 데이터를 불러와 보겠습니다. SQL에서 사용했던 구문을 변수에 담아 그대로 활용합니다.
이 SQL 구문을 실행하기 위해서는 mysqli_query 함수를 사용합니다. 이 함수는 첫 번째 인자로 DB 연결 티켓을, 두 번째 인자로 SQL 구문 변수를 받습니다.
위 코드를 실행하면 결과가 출력되지만, 세부 내용은 보이지 않고 object 패키지로 출력될 수 있습니다. 이는 데이터가 많기 때문입니다.
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 |