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

Comment conserver les vraies valeurs NULL dans les instructions préparées MySQLi ?

DDD
DDDoriginal
2024-11-04 12:06:02523parcourir

How to Preserve True NULL Values in MySQLi Prepared Statements?

Manipulation des valeurs NULL dans les instructions préparées MySQLi

Lors de l'utilisation d'instructions préparées MySQLi, la gestion des valeurs NULL peut être un peu délicate. Par défaut, MySQLi convertit les valeurs NULL en chaînes vides ('') pour les chaînes et 0 pour les entiers. Cependant, il existe des scénarios dans lesquels vous souhaiterez peut-être conserver la valeur NULL réelle.

Préserver les vraies valeurs NULL

Pour stocker une vraie valeur NULL dans une instruction préparée par MySQLi, vous pouvez utiliser l'opérateur MySQL NULL Safe (<>=). Cet opérateur permet de comparer correctement les valeurs NULL.

Exemple :

<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>

Dans cet exemple, le stmt sélectionnera les lignes de la table 'product' où le La colonne « prix » est NULL. Le ≪> L'opérateur est utilisé pour vérifier les valeurs NULL et non NULL, vous permettant ainsi de gérer avec précision les comparaisons NULL.

Remarques supplémentaires :

  • Lors de l'utilisation de NULL opérateur sécurisé, vous devez utiliser le format de liaison correct en fonction du type de données de la colonne. Par exemple, liez un entier NULL en tant que type entier au lieu d'un type chaîne.
  • Soyez prudent lorsque vous utilisez l'opérateur de sécurité NULL avec des valeurs autres que NULL. Il peut produire des résultats inattendus s'il est utilisé avec des valeurs non NULL.

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!

Déclaration:
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