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.