sql >> Base de Datos >  >> RDS >> Mysql

PHP/MySQL Insertar valores nulos

Este es un ejemplo en el que se usan declaraciones preparadas realmente te ahorra algunos problemas.

En MySQL, para insertar un valor nulo, debe especificarlo en INSERT tiempo o deje el campo que requiere bifurcación adicional:

INSERT INTO table2 (f1, f2)
  VALUES ('String Value', NULL);

Sin embargo, si desea insertar un valor en ese campo, ahora debe bifurcar su código para agregar las comillas simples:

INSERT INTO table2 (f1, f2)
  VALUES ('String Value', 'String Value');

Las declaraciones preparadas lo hacen automáticamente por usted. Conocen la diferencia entre string(0) "" y null y escribe tu consulta apropiadamente:

$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);

$field1 = "String Value";
$field2 = null;

$stmt->execute();

Se escapa de sus campos por usted, se asegura de que no olvide vincular un parámetro. No hay razón para quedarse con mysql extensión. Usa mysqli y son declaraciones preparadas en cambio. Te ahorrarás un mundo de dolor.