English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 PHP를 사용하여 MySQL 테이블의 레코드를 업데이트하는 방법을 배웁니다.
UPDATE데이터베이스 테이블의 기존 레코드를 변경하거나 수정하는 문장입니다. 이 문장은 WHERE 절과 함께 사용되어 특정 조건에 맞는 레코드에만 변경을 적용합니다.
UPDATE 문의 기본 문법은 다음과 같이 제공할 수 있습니다:
UPDATE table_name SET column1=value, column2=value2,... WHERE column_name=some_value
UPDATE 문과 WHERE 절을 사용하여 SQL 쿼리를 수행하고, 이를 PHP mysqli_query() 함수에 전달하여 테이블 기록을 업데이트하도록 생각해 보세요. 다음과 같은 persons 테이블이 있는 데모 데이터베이스를 고려해 보세요:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
아래 예제의 PHP 코드는 persons 테이블에서 id가1의 이메일 주소
<?php /*MySQL 서버 연결을 시도합니다. MySQL을 실행 중인 것을 가정합니다. 기본 설정의 서버(비밀번호가 없는 사용자 "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //연결 확인 if($link === false){ die("에러: 연결할 수 없음. \" . mysqli_connect_error()); } //쿼리 실행 업데이트 시도 $sql = "UPDATE persons SET email='[email protected]' WHERE id="1"; if(mysqli_query($link, $sql)){ echo "기록이 성공적으로 업데이트되었습니다."; } else { echo "에러: 실행할 수 없음 $sql. \" . mysqli_error($link); } //연결을 닫습니다 mysqli_close($link); ?>
<?php /*MySQL 서버 연결을 시도합니다. MySQL을 실행 중인 것을 가정합니다. 기본 설정의 서버(비밀번호가 없는 사용자 "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //연결 확인 if($mysqli === false){ die("에러: 연결할 수 없음. \" . $mysqli->connect_error); } //쿼리 실행 업데이트 시도 $sql = "UPDATE persons SET email='[email protected]' WHERE id="1"; if($mysqli->query($sql) === true){ echo "기록이 성공적으로 업데이트되었습니다."; } else{}} echo "에러: $sql을 실행할 수 없습니다. ". $mysqli->error; } //연결을 닫습니다 $mysqli->close(); ?>
<?php /*MySQL 서버 연결을 시도합니다. MySQL을 실행 중인 것을 가정합니다. 기본 설정의 서버(비밀번호가 없는 사용자 "root") */ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); //PDO 오류 모드를 예외로 설정합니다 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }); die("에러: 연결할 수 없습니다. ". $e->getMessage()); } //쿼리 실행 업데이트 시도 try{ $sql = "UPDATE persons SET email='[email protected]' WHERE id="1"; $pdo->exec($sql); echo "기록이 성공적으로 업데이트되었습니다."; }); die("에러: $sql을 실행할 수 없습니다. ". $e->getMessage()); } //연결을 닫습니다 unset($pdo); ?>
업데이트 후, persons 테이블은 다음과 같이 보일 것입니다:
+----+------------+-----------+--------------------------+ | id | first_name | last_name | email | +----+------------+-----------+--------------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+--------------------------+
경고:UPDATE 문장의 WHERE 절은 어떤 기록을 업데이트해야 하는지 지정합니다. WHERE 절을 제외하면 모든 기록이 업데이트됩니다.