Maison > base de données > tutoriel mysql > Comment puis-je stocker de vraies valeurs NULL dans les instructions préparées MySQLi ?

Comment puis-je stocker de vraies valeurs NULL dans les instructions préparées MySQLi ?

Barbara Streisand
Libérer: 2024-11-03 17:55:29
original
335 Les gens l'ont consulté

How Can I Store True NULL Values in MySQLi Prepared Statements?

Stockage de vraies valeurs NULL dans les instructions préparées MySQLi

Dans une instruction préparée dans MySQLi, le comportement par défaut d'une valeur NULL est de la convertir à une chaîne vide ('') dans le cas d'une chaîne ou à 0 dans le cas d'un entier. Cependant, si vous préférez conserver la valeur NULL, vous pouvez adopter une approche spécifique.

Utilisation de l'opérateur MySQL NULL Safe

Pour stocker un vrai NULL dans une instruction préparée par MySQLi, vous devez utiliser l'opérateur sécurisé MySQL NULL :

<=>
Copier après la connexion

Cet opérateur garantit qu'une colonne est comparée pour l'égalité ou la non-égalité à NULL. Par exemple :

$price = NULL; // Note: Using php NULL without quotes
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price &lt;=&gt; ?"); // Selects products with NULL prices
$stmt->bind_param($price);
Copier après la connexion

Dans cet exemple, la requête récupérera les produits dont la colonne prix est NULL. Sans l'opérateur de sécurité NULL, la requête n'aurait renvoyé aucun résultat, car NULL n'est pas égal à une chaîne vide ou à 0.

Exemple

Le code PHP suivant démontre comment utiliser l'opérateur de sécurité NULL dans une instruction préparée :

$firstName = NULL;
$lastName = "Doe";

$stmt = $mysqli->prepare("UPDATE users SET first_name &lt;=&gt; ?, last_name = ?");
$stmt->bind_param("ss", $firstName, $lastName);
$stmt->execute();
Copier après la connexion

Cette requête mettrait à jour l'utilisateur avec le nom de famille spécifié et conserverait la valeur NULL pour le prénom.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal