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

¿No es el valor nulo de PHP igual al valor nulo de MySQL?

Eso es porque PHP null se convierte en la cadena vacía "" cuando crea la cadena de consulta.

$variable = null;
$insert = "insert into mytable set mycolumn = $variable" ;
echo $insert;

Producirá:

insert into mytable set mycolumn = 

Para corregir su consulta, debe verificar si la variable PHP es nula y cambiarla a la cadena NULL. (También ahora mencionado en el comentario de @MarkB.)

if ($variable == null){
    $variable = "NULL";
}

Esto producirá:

"insert into mytable set mycolumn = NULL"

Tenga en cuenta que NULL no tiene " alrededor porque ahora está concatenado con la otra cadena.

*(nota:insert into tablename set .. no es correcto, usted insert datos o usted update tablename set datos.)