개발자 (Developer)/백 엔드 (Back-End)

MySQL · PHP 연동하기 (DB연동)

하늬아시 2023. 4. 12. 20:28

저번 게시글 중에 MySQL 데이터베이스와 테이블 생성이라는 글이 있습니다.

DB까지 생성했으면 이제 웹 사이트와 연동을 해야겠죠?

 

이번 연동은 index.php 파일로 DB의 정보를 가져오는 것을 해볼 예정입니다.

index.html파일이든 index.php파일이든 php 명령어인 "<?php ~ ?>"만 있으면 해당 부분에 php가 돌아가기 때문에 둘 중 어떤 확장자로 하든 상관없습니다.

 


 

저번 게시글에서 MySQL 유저 생성과 권한 부여도 해봤습니다. 이제 이걸 응용해 보죠.

 

index.php

<?php
# php 에러 출력
error_reporting(E_ALL);
ini_set("display_errors", 1);

# 변수 $conn에 MySQL을 연결합니다. (주소, 유저, 비밀번호, 데이터베이스)
$conn = mysqli_connect('localhost', 'testuser', '비밀번호', 'testdb');

# 변수 $sql에 MySQL 명령어를 입력합니다. (SELECT ~~ 여기는 저번 게시글에도 있는 명령어)
$sql = "SELECT id,name,userid,email,password,created FROM usertable;";

# 변수 $res에 $db, $sql을 실행합니다.
$res = mysqli_query($conn,$sql);

# 반복문 while로 $res를 반복적으로 실행해서 리스트에 넣고 출력합니다.
while($list = mysqli_fetch_array($res)) {
echo
	'<p>'
    ."ID : ".$list['id']."<br>"
    ."Name : ".$list['name']."<br>"
    ."UserId : ".$list['userid']."<br>"
    ."Email : ".$list['email']."<br>"
    ."Password : ".$list['password']."<br>"
    ."Created : ".$list['created']."<br>"
    ."</p>"
    ;
}

?>

 

 

출력 결과

 

 

 

저도 그렇고 같이 하시는 분도 오류가 났는데 해결을 못해서 많이 헤매었는데요.

저는 구글링 해서 해결했는데도 시간이 너무 오래 걸렸습니다.

index.php 코드에 보시면 $conn에서 MySQL 유저 부분이 많이 헤매게 되었습니다.

한 블로거의 글을 보니 PHP 8.0 버전부터 바뀌었다고 하니 저처럼 헤매지 마시고 잘 해결하시기 바랍니다.

 

아!!  그리고 저 출력화면 보시면 아시겠지만 비밀번호가  그대로 다 나옵니다. 저거는 나중에 암호화 꼭 하도록 합시다!!!