PHP MySQL Insert Into

INSERT INTO 문은 데이터베이스 테이블에 새로운 레코드를 삽입하는 데 사용됩니다.

데이터베이스 테이블에 데이터 삽입

INSERT INTO 문은 데이터베이스 테이블에 새로운 레코드를 추가하는 데 사용됩니다.

문법

INSERT INTO table_name
VALUES (value1, value2,....)

데이터를 삽입하고자 하는 열을 지정할 수도 있습니다:

INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)

주의사항:SQL 문은 대소문자에 대한 구분이 없습니다. INSERT INTO와 insert into는 같습니다.

PHP가 이 명령을 실행하려면 mysql_query() 함수를 사용해야 합니다. 이 함수는 MySQL 연결에 쿼리나 명령을 보냅니다.

예제

이전 장에서 "Persons"라는 테이블을 생성했습니다. 이 테이블은 "Firstname", "Lastname", "Age" 세 열을 가지고 있습니다. 이 예제에서는 동일한 테이블을 사용합니다. 아래 예제는 "Persons" 테이블에 두 개의 새로운 레코드를 추가합니다:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('연결할 수 없음: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO Persons (FirstName, LastName, Age) 
VALUES ('Peter', 'Griffin', '35')");
mysql_query("INSERT INTO Persons (FirstName, LastName, Age) 
VALUES ('Glenn', 'Quagmire', '33')");
mysql_close($con);
?>

테이블 데이터에 데이터를 삽입합니다

이제, "Persons" 테이블에 새로운 레코드를 삽입할 수 있는 HTML 테이블폼을 생성합니다.

이 HTML 테이블폼입니다:

<html>
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

사용자가 예시에서의 HTML 테스트 폼의 제출 버튼을 클릭하면, 테스트 데이터가 "insert.php"로 전송됩니다. "insert.php" 파일은 데이터베이스와 연결하고, $_POST 변수를 통해 테스트 폼에서 값을 꺼냅니다. 그런 다음, mysql_query() 함수가 INSERT INTO 문을 실행하여 새로운 레코드가 데이터베이스 테이블에 추가됩니다.

아래는 "insert.php" 페이지의 코드입니다:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('연결할 수 없음: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
  {
  die('오류: ' . mysql_error());
  }
echo "1 개의 레코드 추가됨";
mysql_close($con)
?>