>데이터 베이스 >MySQL 튜토리얼 >PHP를 사용하여 MySQL 데이터베이스에 NULL 값을 올바르게 삽입하려면 어떻게 해야 합니까?

PHP를 사용하여 MySQL 데이터베이스에 NULL 값을 올바르게 삽입하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-29 13:56:24375검색

How Can I Properly Insert NULL Values into a MySQL Database Using PHP?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.