Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP/MySQL Insérer des valeurs nulles

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.