MySQLi 및 PDO를 사용하여 MySQL에 데이터 삽입
데이터베이스와 테이블을 생성한 후 테이블에 데이터를 추가할 수 있습니다.
다음은 몇 가지 문법 규칙입니다.
PHP의 SQL 쿼리 문은 따옴표를 사용해야 합니다.
SQL 쿼리의 문자열 값은 인용되어야 합니다.
숫자 값에는 따옴표가 필요하지 않습니다
NULL 값에는 따옴표가 필요하지 않습니다.
INSERT INTO 문은 일반적으로 MySQL 테이블에 새 레코드를 추가하는 데 사용됩니다.
INSERT INTO 테이블_이름(열1, 열2, 열3,...)VALUES(값1, 값2, 값3,...)
SQL에 대해 자세히 알아보려면 SQL 튜토리얼을 확인하세요.
이전 장에서는 "id", "firstname", "lastname", "email" 및 "reg_date" 필드를 사용하여 "MyGuests" 테이블을 만들었습니다. 이제 테이블에 데이터를 채워 보겠습니다.
 | 참고: 열이 AUTO_INCREMENT(예: "id" 열) 또는 TIMESTAMP(예: "reg_date" 열)로 설정된 경우 SQL 쿼리 문에 값을 지정할 필요가 없습니다. MySQL은 자동으로 값을 추가합니다. 열에. |
---|
다음 예에서는 "MyGuests" 테이블에 새 레코드를 추가합니다.
예(MySQLi - 객체 지향)
<?php $servername = " localhost " ; $username = " 사용자 이름 " ; $password = " 비밀번호 " ; $ dbname = " myDB " ; $conn = 새로운 mysqli ( $servername , $username , $password , $dbname ) ; // 연결 감지 만약에 ( $conn -> 연결_오류 ) { die ( " 연결 실패: " . $conn - > connect_error ) ; $sql = " MyGuests에 삽입(이름, 성, 이메일)
VALUES ('John', 'Doe', '[email protected]') " ; ( $conn -> 쿼리 ( $sql ) === TRUE ) { 에코 " 새 레코드가 성공적으로 삽입되었습니다 . " } 또 다른 { 에코 " 오류 : " . " <br> " . $ conn - > 오류 } $conn -> 닫기 ( ) ? > 예(MySQLi - 프로시저 지향)
<?php $servername = " localhost " ; $username = " 사용자 이름 " ; $password = " 비밀번호 " ; $ dbname = " myDB " ; $conn = mysqli_connect ( $servername , $username , $password , $dbname ) ; // 연결 감지 만약에 ( ! $콘 ) { die ( " 연결 실패 : " . mysqli_connect_error ( ) ) ; $sql = " MyGuests에 삽입(이름, 성, 이메일)
VALUES ('John', 'Doe', '[email protected]') " ; ( mysqli_query ( $conn , $sql ) ) { 에코 " 새 레코드가 성공적으로 삽입되었습니다 . " } 또 다른 { 에코 " 오류 : " . " <br> " . mysqli_close ( $conn ) ? > 예시(PDO)
<?php $ servername = " localhost " ; $ username = " 사용자 이름 " ; $ password = " myDBPDO " ; { $conn = 새로운 PDO ( " mysql:host= $servername ;dbname= $dbname " , $username , $password ) ; // 예외 발생을 위한 PDO 오류 모드 설정 $conn -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ) ; $sql = " INSERT INTO MyGuests (이름, 성, 이메일) VALUES ('John', 'Doe', '[email protected]') " ; // exec()를 사용하면 결과가 반환되지 않습니다. $conn - > exec ( $sql ) 에코 " 새 레코드가 성공적으로 삽입되었습니다 . " } 잡기 ( PDO예외 $e ) { 에코 $ sql . " <br> " . $e -> getMessage ( ) ; $콘 = 널 ? >