집 >데이터 베이스 >MySQL 튜토리얼 >PHP를 사용하여 MySQL 데이터베이스에 NULL 값을 올바르게 삽입하려면 어떻게 해야 합니까?
PHP/MySQL에 Null 값 삽입
데이터베이스에 데이터를 삽입할 때 Null 값을 올바르게 처리하는 것이 중요합니다. 이 경우 배열의 해당 값도 null이면 데이터베이스 필드에 null을 삽입하려고 합니다.
문제:
다음 코드를 고려하세요.
$results = mysql_query("select * from mytable"); while ($row = mysql_fetch_assoc($results)) { mysql_query("insert into table2 (f1, f2) values ('{$row['string_field']}', {$row['null_field']}); }
null_field 값 중 하나가 null이면 insert 문이 실패합니다. 이는 PHP가 null을 빈 문자열로 해석하여 SQL 쿼리에서 구문 오류가 발생하기 때문입니다.
해결책:
널 값 처리에 권장되는 접근 방식은 다음과 같습니다. 준비된 진술을 사용합니다. 준비된 문은 자동으로 null과 빈 문자열을 구별하고 올바른 값을 삽입합니다.
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)"); $stmt->bind_param('ss', $field1, $field2); $field1 = "String Value"; $field2 = null; $stmt->execute();
또한 준비된 문은 값을 이스케이프하고 쿼리 형식이 올바른지 확인하여 SQL 주입 공격을 방지합니다. 따라서 더 이상 사용되지 않는 mysql 확장 대신 mysqli 및 준비된 명령문을 사용하는 것이 좋습니다.
위 내용은 PHP를 사용하여 MySQL 데이터베이스에 NULL 값을 올바르게 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!