-
웹 서버와 DB연동하기 (phpmyadmin, db만들기, 간단한 sql)IT/웹 개발 2023. 11. 7. 16:28
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.]
이제는 웹 서버와 DB를 연동하여 웹 페이지에서 내가 학생의 이름을 입력하면 이름을 바탕으로 DB서버에서 정보를 가져와 점수가 출력되는 간단한 페이지를 만들어 보았다.
참고로 phpmyadmin 패키지 다운로드할 때 비밀번호 설정하라는 창이 떠서 설정했는데 로그인이 안 돼서 결국 mysql에서 직접 CREATE USER와 GRANT ALL PRIVILEGES로 유저 생성 및 권한을 주었다. 원래 이렇게 하는 게 맞는 것인지 잘 모르겠다. 아이디 root 치고 비밀번호 공백으로 두거나 1234 둘 다 안 먹혔다. /etc/phpmyadmin/config.inc.php 파일을 살펴보아도 Allownopassword 관련 코드도 없고 직접 넣어줘도 안 먹혔다.
흠... 여기서 많이 헤맴 굳이 맥북을 사서 고생하고 있다.phpmyadmin 처음 로그인 후 화면 http://localhost/phpmyadmin로 url 창에 입력하여 들어가면 phpmyadmin 로그인 화면이 뜨고, 접속하면 위 캡처 화면과 같이 뜬다.
test DB생성 test라는 이름의 데이터베이스를 생성 후 test_tab le이라는 테이블까지 생성한 후 화면이다.
colnumn 과 데이터타입 그리고 column(idx, name, score, pass)과 각 column에 따른 데이터 타입을 지정하고 데이터 길이값 및 null 인덱스(값이 null이어도 허용하 고 값을 저장)를 추가한다.
row 삽입 이제 각 칼럼에 맞게 INSERT 문을 사용하여 데이터를 삽입해 행을 만들었다. column 이름은 생략 가능하고 데이터에 1, 김철수, 80, pass로 넣어줬다. 여기서 idx인 1은 null로 대체해도 무방하다.
자 이제 DB도 구축했고 데이터도 2개나 쌓았다.(+김영희 생략) 이제 웹 서버와 db를 연동해 볼 차례이다.
웹 서버와 db 연동 확인 코드 'mysqli_connect' 함수에 값을 넣어주고 (차례대로 IP, DB ID, DB PW, DB이름) ' db_conn'이라는 변수에 값을 담아주자
연동이 잘 되었는지 확인하는 코드인 if문은 확인 후 주석처리 하였다. 연동이 잘 되었다면 아래와 같이 화면이 출력된다.
웹 서버와 db 연동 확인 메시지 이름을 입력받고 db에 score 데이터를 출력하는 코드 - select 문에 where 조건을 걸어 name이 get방식으로 받은 문자열과 비교하여 찾는 코드를 $sql에 담기
- $sql과 db연동값을 mysqli_query 함수에 입력하고 그 결과를 $result에 담기
- mysqli_fetch_array 함수에 $result를 넣어 테이블 레코드를 1줄씩 가져온다. 이걸 또 $row에 담는다.
- $row에 db에서 쓰일 name과 score 칼럼을 넣어주고 echo에 표시해 줄 변수를 지정해 준다.
- if문 isset으로 데이터가 들어왔는지 확인하고 들어왔으면 그 데이터의 이름과 점수를 ehco로 알려준다.
학생이름 입력 학생의 이름과 점수를 출력 큰 틀은 DB와 연동하고 입력받은 데이터를 쿼리문을 이용해 비교한 후 db 레코드를 추출해서 변수에 담아 if문으로 출력하는 것인데 막상 코드로 쓰자니 막막했던 내용이었다.
하기 싫어서 유튜브로 도피했다가 맥북 산 나 자신을 원망하며 맥북값은 하자 하고 다시 의자에 앉게 했다. (사길 잘한 걸까?;) 하면 할수록 어지러운 개발
(x발...)'IT > 웹 개발' 카테고리의 다른 글
로그인 DB연동하기 (0) 2023.11.15 회원가입 페이지 만들기 & DB연동하기 (0) 2023.11.13 부트스트랩으로 로그인 페이지 만들기 (0) 2023.11.07 리눅스(우분투)로 DB없이 간단한 로그인 페이지 만들기 (0) 2023.11.06 리눅스(우분투)로 HTML & PHP 이용하여 간단한 페이지 구현하기 (0) 2023.11.06