PHP MySQL 설치후 연동 테스트 코드 + 실행화면 윈도우 환경에서 Apache + PHP + MySql 을 설치 한뒤 [PHP 작동테스트용 페이지]
[PHP-MySql 연동테스트용 페이지]
[결과화면] 글을 쓰기 전에 내가 설치한 php와 MySQL 버전, 편집기는 다음과 같다. 그리고 php, MySQL 설치 과정은 생략한다. php : 7.3.3 MySQL : 8.0.15 편집기 : 아톰 + phpstorm(둘 중 아무거나 써도 됨. 편의성은 phpstorm) php와 MySQL을 연동시켜 회원가입 기능을 구현하기 전, 내가 원하는 문구를 띄워 제대로 DB와 연동됐고 내가 원하는 DB와도 연결이 성공적으로 됐는지 확인할 일이 생겼다. 아톰에 아래와 같은 코드를 쳤다. 파일명은 적당히 test.php로 한다.
if문 안에 있는 $db_con 변수의 값에 따라 DB 연결의 성공 여부, $db_sec 변수의 값에 따라 선택한 DB와 연결 성공 여부를 확인해 웹 페이지 상에 출력하는 코드다. $db_con은 mysqli_connect()의 리턴값을 담는 변수다. 주의할 것은 php 7 버전부터는 mysql_connect()를 치면 안된다. mysqli_connect() 함수를 사용해야 한다. 참고문서 : https://www.php.net/manual/en/mysqli.select-db.php PHP: mysqli::select_db - Manual query("SELECT DATABASE()")) { $row = $result->fetch_row(); printf("Default database is %s.\n", $row[0]); $result->close();}/* change db to world db */$mysqli->select_db("world");/* return name of current default database */if ($result = $mysqli->q www.php.net 그리고 mysqli_select_db() 안의 인자들의 순서들도 신경써야 한다. 큰따옴표가 $db_con보다 먼저 나올 경우 에러가 뜨면서 DB select NO 문구가 나오게 된다. 꼭 $db_con 변수를 앞에 둬야 한다. echo는 큰따옴표 안의 문장을 출력시키는 php 문법 중 하나다. 잘 연동됐다면 아래와 같은 결과가 출력되야 한다. 위 문구가 나왔다면 php와 MySQL이 제대로 연동됐다는 뜻이고, 내가 선택한 DB와의 연결도 잘 이뤄졌다는 뜻이다. PHP 8.0, MySQL 8.0 에서 테스트 시 정상 동작 하는것 확인했습니다. # vi dbtest.php <?php if ($conn) { $result = mysqli_query($conn, "SELECT VERSION() AS VERSION"); Bitnami로 APM(Apache, PHP, MySQL) 환경을 세팅해줬습니다. PHP+MySQL 조합으로 connect, select, insert 예제를 간단하게 작성해봤습니다. 1. PHP MySQL 접속
2. PHP MySQL SELECT 예제
SELECT 구문으로 DB의 값을 가져온 뒤, echo로 데이터를 출력합니다. 3. PHP MySQL INSERT 예제
INSERT 구문으로 DB에 데이터를 밀어넣습니다. 성공했다면 $result=1, 실패했다면 $result=0입니다. if 구문으로 성공했는지, 실패했는지 출력하도록 만들었습니다 :) 이번에 테스트하면서 중간에 Internal Server Error가 계속 떠서 삽질을 많이 했습니다. 확인해보니 DB명을 잘못 작성한 에러였는데, 크롬 콘솔에서는 GET http://localhost:8080/dbtest.php 500 (Internal Server Error)만 출력되서 뭐가 문제인지 확인이 어려웠습니다. 다행히 error log를 통해 DB명을 잘못 작성했다는걸 알게 되었습니다. error_logBitnami에서는 Manage Servers>configure>Open Error Log를 통해서 에러 로그를 확인할 수 있었습니다. 똑같이 따라했는데도 Internal Server Error 에러가 나시는 분들은 에러 로그를 확인해보세요 :) 잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다. 이 포스팅이 도움이 되었다면 공감 부탁드립니다. 궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다 :D |