L'insertion de valeurs nulles dans une base de données MySQL peut être délicate, surtout si vous utilisez des fonctions PHP obsolètes comme mysql_query().
Lorsque vous essayez d'insérer une valeur de tableau nulle à l'aide de mysql_query(), vous pouvez rencontrer des problèmes où les valeurs nulles ne sont pas correctement insérés, bien qu'ils soient autorisés dans la base de données.
Pour résoudre ce problème, envisagez plutôt d'utiliser des instructions préparées. Les instructions préparées gèrent automatiquement correctement les valeurs nulles, éliminant ainsi le besoin de branchement manuel ou de logique supplémentaire.
Dans MySQL :
INSERT INTO table2 (f1, f2) VALUES ('String Value', NULL);
Cependant, si vous devez insérer une valeur non nulle, vous vous devrez toujours créer une branche dans votre code pour ajouter des guillemets simples :
INSERT INTO table2 (f1, f2) VALUES ('String Value', 'String Value');
Voici un exemple utilisant MySQLi et des instructions préparées pour gérer les valeurs nulles :
<code class="php">$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)"); $stmt->bind_param('ss', $field1, $field2); $field1 = "String Value"; $field2 = null; $stmt->execute();</code>
Les instructions préparées échappent automatiquement aux champs, gèrent correctement les différents types et évitent les erreurs de liaison de paramètres. Ils simplifient le processus et facilitent grandement la gestion des valeurs nulles dans les insertions de bases de données.
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!