데이터 삽입을 위한 PDO 준비된 문
제공되는 도우미 함수 dbSet, 기존 MySQL 드라이버와 함께 사용할 SET 문을 생성하지만 PDO 준비된 문에 대한 지원이 부족합니다. 이 문제를 해결하기 위해 PDO의 이점을 활용하여 수정된 버전의 함수를 활용할 수 있습니다.
수정된 도우미 함수
업데이트된 dbSet 함수는 이제 다음 배열을 사용합니다. 필드 이름 및 해당 값 배열에 대한 참조입니다. 각 필드에 대한 자리 표시자가 있는 SET 문을 구성하고 값을 값 배열에 추가합니다.
function dbSet($fields, &$values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?,"; $values[] = $_POST[$field]; } } return rtrim($set, ','); }
사용 예:
$fields = explode(" ","name surname lastname address zip fax phone date"); $_POST['date'] = $_POST['y']."-".$_POST['m']."-"$_POST['d']; $query = "UPDATE $table SET ".dbSet($fields, $values).", stamp=NOW() WHERE>
장점 PDO 준비 명령문:
대체 솔루션: ORM(객체 관계형 매핑)
Doctrine ORM과 같은 ORM 사용을 고려해 보세요. 데이터 채우기를 단순화하고 수동 쿼리 작성의 필요성을 제거합니다.
$table = new Table(); $table->fromArray($_POST); $table->save();
이 접근 방식은 정의된 엔터티 클래스를 기반으로 속성을 데이터베이스 필드에 매핑하는 프로세스를 자동화합니다.
위 내용은 PDO 준비 문을 사용하여 MySQL 삽입/업데이트 기능을 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!