💥주의💥
해당 포스팅은 우주 공돌이 본인의 얄팍한 지식이 포함되어있으며, 공부를 위해 작성한 것임을 미리 알려드립니다.
해당 포스팅에서의 목차!
1. php를 이용하여 dothome의 개인 Database에 진입하자
2. Database에서 필요한 데이터를 읽어오자
3. 지정한 Table에 데이터를 넣어보자
우선 우리가 사용할 Dothome에 대해 알아보는 시간을 가져보자
Dothome이란 개발자들이 사용하는 호스팅 서비스 플랫폼 중 하나로
현재까지도 무료 호스팅을 이용하여 Database를 제공해주고 있다.
우리는 이 무료 호스팅을 이용하여 제공해주는 Database를 기반으로 제작할 겁니다.
추후 서술되는 모든 Database는 DB로 작성하겠습니다. ㅎ..
Dothome을 이용하여 무료 호스팅 및 데이터베이스 세팅은 추후 시간이 나올 때 다른 포스팅으로 다뤄보기로 하고
우선은 아래 이미지처럼 DB를 준비해줍니다.
해당 DB에 테이블을 생성해주고 값을 넣어준 후 php문서를 만들어줍니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>php_connect</title>
</head>
<body>
<?php
?>
</body>
</html>
기본적은 php 화면입니다. 우리는 body > php부분에 코드를 입력할 것이죠.
우선 첫 번째로 서버에 연결하기 위한 키 데이터를 만들 겁니다.
<?php
$serverUrl = "localhost"; // 서버 주소, 통상적으로 localhost를 사용한다.
$serverId = "id"; // 서버 ID (user_name)
$serverPwd = "password"; // 서버 PWD
$dbName = "database"; // 진입하고자 하는 DB 이름
?>
설명을 덧붙이자면 우리가 추후 사용할 mysqli라는 클래스를 사용할 때 총 4개의 데이터가 들어가게 됩니다.
이 데이터들이 서버 주소, 서버 아이디(username), 서버 비밀번호, DB이름을 넣어줘야 합니다.
그래서 처음에 총 4개의 변수를 지정해주는 거죠
변수를 지정해줬으면 먼저 이야기했던 mysql 클래스를 사용할 겁니다.
$mysqli = new mysqli(서버 주소, 서버 아이디(Username), 서버 비밀번호 , 데이터베이스);
$mysqli = new mysqli($serverUrl, $serverId, $serverPwd, $dbName);
이렇게 위에서 만들어준 변수를 mysqli에 넣어주고 서버에 연결을 합니다.
서버에 연결을 했으니 우리는 원하는 데이터를 불러오기 위해 DB에 있는 TABLE에 접근을 합니다.
여기서 사용하는 것이 QUERY문이 되겠네요.
우선 간단하게 쿼리문을 이야기해보면 DB의 방대한 데이터중에서 우리가 원하는 데이터를 불러오기 위한 길잡이? 느낌이라고 생각하고 있습니다. 아니면 아닌 걸로.....(저도 잘 몰라요..)
서버에서 원하는 table에 진입하기 위해 아래처럼 코드를 짜줍시다.
$query = "SELECT * FROM 테이블명";
위 테이블 명에 자신이 사용하는 DB에 있는 TABLE을 입력해주시면 됩니다.
설명을 살짝 덧붙이면 [SELECT * FROM 테이블명]는 테이블명에서 모든 테이터를 선택해서 불러준다는 의미입니다.
(아마도..?)
이제 우리는 DB에 진입하는 $mysqli와 TABLE를 찾아서 진입하는 $query 총 2개의 변수를 완성했습니다.
원하는 데이터를 찾기 위한 준비 준비단계가 모두 끝이 났습니다.
마지막으로 두 변수를 이용하여 데이터를 찾기 위해 한 줄을 더 써줍시다.
$result = mysqli_query($mysqli, $query);
우선 서버가 제대로 연결이 되어있는지 확인하기 위해 mysqli_connect_errno()를 이용하여 마지막 호출에서 오류 값을 반환하는지 확인을 먼저 해보겠습니다.
if(mysqli_connect_errno()){
echo("연결 실패");
printf("<br>");
exit();
} else{
echo("연결 성공");
printf("<br>");
}
그 후 데이터를 읽어와야겠죠? 데이터를 읽어올 때 테이블 형식의 데이터를 불러오기 위해 우리는 while문과 mysqli_fetch_array을 사용할 겁니다.
while($row = mysqli_fetch_array($result)){
//불러올 데이터 값을 작성해주시면됩니다.
}
데이터를 불러오는 방법은 위 반복문에 아래 코드를 필요한 만큼 입력해주시면 됩니다.
echo "데이터: ".$row["데이터"];
데이터가 제대로 불러와지는지 확인하기 위해 echo를 사용한 것이며 작업하시는 분들 니즈에 맞게 $row["데이터"]
를 사용해주시면 됩니다.
데이터 불러올 때 제가 사용하는 방식은 이렇습니다.
while($row = mysqli_fetch_array($result)){
$img = $row["user_profile_img"];
echo "UID: ".$row["user_uid"];
printf("<br/>");
echo "이름: ".$row["user_name"];
printf("<br/>");
echo "닉네임: ".$row["user_nicname"];
printf("<br/>");
echo "전화번호: ".$row["user_number"];
printf("<br/>");
echo "프로필 이미지: ".$row["user_profile_img"];
printf("<br/>");
echo "주소: ".$row["user_address"];
printf("<br/>");
echo "아이디: ".$row["user_id"];
printf("<br/>");
echo "비밀번호: ".$row["user_pwd"];
printf("<br/>");
echo "판비여부: ".$row["user_seller_exist"];
printf("<br/>");
echo "등급: ".$row["user_rank"];
printf("<br/>");
echo "포인트: ".$row["user_point"];
printf("<br/>");
echo "적립금: ".$row["user_money"];
printf("<br/>");
printf("<img src='$img' art='ff'></img>");
printf("<br/>");
printf("<br/>");
}
이렇게 데이터를 읽어오는 방법을 한번 알아봤습니다. 다음 포스팅이 언제일지는 모르겠지만 다음 포스팅에는 데이터를 DB에 넣는 방법을 한번 알아보도록 하겠습니다.
완성본
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>php_connect</title>
</head>
<body>
<?php
$serverUrl = "서버 주소";
$serverId = "서버 아이디";
$serverPwd = "서버 비밀번호";
$dbName = "DB이름";
$mysqli = new mysqli($serverUrl, $serverId, $serverPwd, $dbName);
$query = "SELECT * FROM TABLE";
$result = mysqli_query($mysqli, $query);
if(mysqli_connect_errno()){
echo("연결 실패");
printf("<br>");
exit();
} else{
echo("연결 성공");
printf("<br>");
}
while($row = mysqli_fetch_array($result)){
echo "data: ".$row["data"];
}
?>
</body>
</html>