Passer des valeurs NULL à MySQL depuis PHP
Lors de l'insertion de données dans une base de données MySQL à l'aide de PHP, il peut être nécessaire de transmettre explicitement un NULL valeur pour les champs facultatifs. Si une chaîne vide est transmise à la place, MySQL l'interprétera comme une valeur non vide.
Insérer NULL à l'aide d'instructions préparées
La méthode recommandée pour insérer des valeurs NULL est au moyen de déclarations préparées. Les instructions préparées utilisent des espaces réservés (?) Pour représenter les valeurs, qui sont liées ultérieurement aux variables. Si une variable contient une valeur PHP NULL, elle sera automatiquement mappée à une valeur MySQL NULL lors de l'exécution.
Exemple :
$query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng) VALUES (?,?,?,?,?,?)"; $data = [$notes, $id, $imageUploaded, $lat, $long, $intLat, $intLng]; $conn->prepare($query)->execute($data);
Gestion des chaînes vides as NULL
Si vous souhaitez convertir des chaînes vides en valeurs NULL avant l'insertion, vous pouvez utiliser ce qui suit code :
$intLat = ($intLat === '') ? null : $intLat;
Ceci attribue une valeur NULL à $intLat si sa valeur est une chaîne vide, sinon, il conserve sa valeur d'origine.
Conclusion
Lors de l'insertion de données dans MySQL à partir de PHP, il est essentiel de gérer correctement les champs facultatifs pour éviter les problèmes d'intégrité des données. Les instructions préparées offrent un moyen sûr et efficace d'insérer des valeurs NULL, tandis que le code mentionné ci-dessus vous permet de convertir des chaînes vides en valeurs NULL si nécessaire.
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!