PHP를 사용하여 MySQL 데이터베이스에 Null 값을 삽입하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-10-30 13:05:02
원래의
510명이 탐색했습니다.

How to Insert Null Values into a MySQL Database Using PHP?

PHP를 사용하여 MySQL에 Null 값 삽입

PHP를 사용하여 MySQL 데이터베이스에 데이터를 삽입할 때 Null 값을 삽입하려고 하면 문제가 발생할 수 있습니다. 기본적으로 PHP는 배열의 값에 null이 포함된 경우 숫자 필드에 빈 문자열이나 0을 삽입합니다.

이 예에서는:

<code class="php">$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']});
}</code>
로그인 후 복사

$row[' null_field']에 null이 포함되어 있으면 대신 0으로 삽입됩니다. 이 문제를 해결하려면 준비된 문을 사용할 수 있습니다.

준비된 문 사용

준비된 문을 사용하면 쿼리에 null 값을 명시적으로 지정할 수 있습니다. 또한 이스케이프 및 바인딩을 자동으로 처리하여 주입 취약점의 위험을 줄입니다.

다음은 MySQLi에서 준비된 명령문을 사용하는 방법입니다.

<code class="php">$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);

$field1 = "String Value";
$field2 = null;

$stmt->execute();</code>
로그인 후 복사

이 예에서는:

  • ? 자리 표시자는 삽입할 필드를 나타냅니다.
  • ss는 첫 번째 필드가 문자열이고 두 번째 필드가 null임을 나타냅니다.
  • bind_param()은 값을 자리 표시자에 바인딩합니다.
  • execute()는 쿼리를 실행합니다.

$field2가 null인 경우 데이터베이스에 null로 삽입됩니다. 이 방법은 null 값을 올바르게 처리하여 빈 문자열이나 0 값으로 처리되지 않도록 합니다.

위 내용은 PHP를 사용하여 MySQL 데이터베이스에 Null 값을 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿