Insérer des valeurs NULL dans PHP/MySQL avec des instructions préparées
Votre problème survient lorsque vous essayez d'insérer des valeurs NULL dans une base de données MySQL à l'aide de mysql_query fonction. Pour réussir à insérer des valeurs NULL, vous devez les spécifier explicitement dans votre instruction INSERT ou omettre le champ.
Cependant, cette approche nécessite un branchement supplémentaire pour gérer à la fois les valeurs NULL et non NULL. Une solution plus élégante consiste à utiliser des instructions préparées avec l'extension mysqli.
Les instructions préparées font automatiquement la différence entre les valeurs string(0) et NULL. Ils échappent également aux champs pour vous, garantissant ainsi l'intégrité des données. Voici un exemple utilisant des instructions préparées :
<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>
En utilisant des instructions préparées, vous pouvez insérer des valeurs NULL sans effort, sans aucun branchement ni code supplémentaire. De plus, les instructions préparées empêchent les attaques par injection SQL et améliorent les performances. Il est fortement recommandé d'utiliser mysqli et ses instructions préparées pour améliorer la sécurité, les performances et la facilité de développement.
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!