Voici un exemple d'utilisation d'instructions préparées vous évite vraiment des ennuis.
Dans MySQL, pour insérer une valeur nulle, vous devez la spécifier à INSERT
temps ou laissez le champ de côté, ce qui nécessite des branchements supplémentaires :
INSERT INTO table2 (f1, f2)
VALUES ('String Value', NULL);
Cependant, si vous souhaitez insérer une valeur dans ce champ, vous devez maintenant brancher votre code pour ajouter les guillemets simples :
INSERT INTO table2 (f1, f2)
VALUES ('String Value', 'String Value');
Les relevés préparés le font automatiquement pour vous. Ils connaissent la différence entre string(0) ""
et null
et rédigez votre requête de manière appropriée :
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);
$field1 = "String Value";
$field2 = null;
$stmt->execute();
Il échappe vos champs pour vous, s'assure que vous n'oubliez pas de lier un paramètre. Il n'y a aucune raison de rester avec le mysql
extension. Utilisez mysqli
et c'est instructions préparées
Au lieu. Vous vous épargnerez un monde de douleur.