MySQLi 준비된 문에 실제 NULL 값 저장
MySQLi의 준비된 문에서 NULL 값에 대한 기본 동작은 이를 변환하는 것입니다. 문자열의 경우 빈 문자열('')로, 정수의 경우 0으로 변환합니다. 그러나 NULL 값을 보존하려는 경우 취할 수 있는 특정 접근 방식이 있습니다.
MySQL NULL 안전 연산자 사용
실제 NULL을 저장하려면 MySQLi 준비된 명령문을 사용하려면 MySQL NULL 안전 연산자를 사용해야 합니다.
<=>
이 연산자는 열이 NULL과 같은지 또는 같지 않은지 비교되도록 합니다. 예:
$price = NULL; // Note: Using php NULL without quotes
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price <=> ?"); // Selects products with NULL prices
$stmt->bind_param($price);
이 예에서 쿼리는 가격 열이 NULL인 제품을 검색합니다. NULL 안전 연산자가 없었다면 NULL은 빈 문자열이나 0과 같지 않기 때문에 쿼리는 결과를 반환하지 않았을 것입니다.
예
다음 PHP 코드는 다음을 보여줍니다. 준비된 문에서 NULL 안전 연산자를 사용하는 방법:
$firstName = NULL;
$lastName = "Doe";
$stmt = $mysqli->prepare("UPDATE users SET first_name <=> ?, last_name = ?");
$stmt->bind_param("ss", $firstName, $lastName);
$stmt->execute();
이 쿼리는 지정된 성으로 사용자를 업데이트하고 이름에 대해 NULL 값을 유지합니다.
위 내용은 MySQLi 준비된 명령문에 실제 NULL 값을 어떻게 저장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!