>  기사  >  데이터 베이스  >  MySQLi 준비된 명령문에서 실제 NULL 값을 보존하는 방법은 무엇입니까?

MySQLi 준비된 명령문에서 실제 NULL 값을 보존하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-04 12:06:02470검색

How to Preserve True NULL Values in MySQLi Prepared Statements?

MySQLi 준비된 문에서 NULL 값 조작

MySQLi 준비된 문을 사용할 때 NULL 값을 처리하는 것이 약간 까다로울 수 있습니다. 기본적으로 MySQLi는 NULL 값을 문자열의 경우 빈 문자열('')로, 정수의 경우 0으로 변환합니다. 그러나 실제 NULL 값을 보존하려는 시나리오가 있습니다.

참 NULL 값 보존

MySQL 준비된 명령문에 실제 NULL 값을 저장하려면, MySQL NULL 안전 연산자(<>=)를 활용할 수 있습니다. 이 연산자를 사용하면 NULL 값을 정확하게 비교할 수 있습니다.

예:

<code class="php">$price = NULL;
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price <> ?");
$stmt->bind_param('s', $price); // Bind the price as a string</code>

이 예에서 stmt는 'product' 테이블에서 행을 선택합니다. '가격' 열이 NULL입니다. <> 연산자는 NULL 값과 NULL이 아닌 값을 모두 확인하는 데 사용되므로 NULL 비교를 정확하게 처리할 수 있습니다.

추가 참고 사항:

  • NULL을 사용하는 경우 안전 연산자를 사용하려면 열의 데이터 유형에 따라 올바른 바인딩 형식을 사용해야 합니다. 예를 들어 NULL 정수를 문자열 유형이 아닌 정수 유형으로 바인딩합니다.
  • NULL이 아닌 값에 NULL 안전 연산자를 사용할 때는 주의하세요. NULL이 아닌 값과 함께 사용하면 예상치 못한 결과가 발생할 수 있습니다.

위 내용은 MySQLi 준비된 명령문에서 실제 NULL 값을 보존하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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