YYYEJI

[PHP] PHP와 DB 연동하기 본문

HTML(or XML) & CSS & JavaScript

[PHP] PHP와 DB 연동하기

YEJI ⍢ 2022. 12. 13. 02:59
728x90

DB 연동 실습을 하기 전에  링크(https://yyyeji.tistory.com/307)에 방문에서 PHP 실습을 맞춰주세요!

 

 

PHP - 웹페이지에서 넘어온 value를 출력

DB - 웹페이지에서 넘어온 value를 저장

 

 

실습을 시작해봅시다.

우선 php 파일에 db를 연결하게 됩니다.

<!EOCTYPE html>
<body>
	Welcome <?php echo $_POST["name"];?><br>
	Your email address is: <?php echo $_POST["email"];?>
</body>

앞서 사용했던 DB 파일에 이어서 실습해보겠습니다.

<!EOCTYPE html>
<body>
	Welcome <?php echo $_POST["name"];?><br>
	Your email address is: <?php echo $_POST["email"];?>

	<?php
	echo "<br>database insertion <br> ";
	$mysqli = mysqli_connect("localhost", "root", "", "testdb");

	if (mysqli_connect_errno()) {
		printf("Connect failed: %s\n", mysqli_connect_error());
		exit();
	} else {
		$sql = "INSERT INTO exercise_sql (name, email) VALUES ('".$_POST["name"]."','".$_POST["email"]."' )";
		$res = mysqli_query($mysqli, $sql);

		if ($res === TRUE) {
			echo "A record for name and email has been inserted.";
		} else {
			printf("Could not insert record: %s\n", mysqli_error($mysqli));
		}

		mysqli_close($mysqli);
	}
	?>
</body>

$mysqli = mysqli_connect("localhost", "root", "", "testdb");

mysql과 연결하는 함수로써 "localhost"는 ID, "root"는 password, "testdb"는 DB의 이름입니다.

 

 

if-else 문을 살펴보겠습니다.

if문은 DB와 연결이 되지 않아 error를 출력해주게 됩니다.

else 문은 DB와 연결이 된 상태이고 아래 코드를 통해 user가 입력한 data를 DB에 저장합니다.

$sql = "INSERT INTO exercise_sql (name, email) VALUES ('".$_POST["name"]."','".$_POST["email"]."' )";

 

mysqli_connect를 통해 연결된 객체를 이용해서 MySQL을 실행시키는 쿼리(query) 함수입니다.

$res = mysqli_query($mysqli, $sql);

mysqli_connect의 함수가 잘 실행됐다면 TRUE가 되어 "A record for name and email has been inserted."가 출력됩니다.

잘 실행되지 않았다면 Error message가 출력됩니다.

 

 

mysqli_close($mysqli)은 연결된 객체를 해지시켜주는 함수입니다.

 

 

실제 화면을 살펴보겠습니다.

 

user가 name과 email을 입력하면

아래의 페이지로 이동되면서 php문이 실행됩니다.

DB에 data가 잘 들어갔는지 확인하기 위해 쿼리문을 작성해 보았습니다.

SELECT * FROM testdb.exercise_sql;

방금 넣은 data가 잘 들어간 것을 확인할 수 있습니다.

 

 

 

◡̈

 

'HTML(or XML) & CSS & JavaScript' 카테고리의 다른 글

[Web] VScode로 웹서버 운영하기  (0) 2023.04.03
[PHP] HTML과 PHP 연동하기  (0) 2022.12.12
[PHP] Super Globals 란?  (0) 2022.12.12
[PHP] PHP의 Associative Array  (0) 2022.12.12
[PHP] PHP의 다차원 Array  (0) 2022.12.12