Det er fordi PHP null
konverteres til den tomme streng "", når du opretter forespørgselsstrengen.
$variable = null;
$insert = "insert into mytable set mycolumn = $variable" ;
echo $insert;
Vil producere:
insert into mytable set mycolumn =
For at rette din forespørgsel skal du kontrollere, om PHP-variablen er null og ændre den til streng NULL. (Også nu nævnt i kommentaren fra @MarkB.)
if ($variable == null){
$variable = "NULL";
}
Dette vil producere:
"insert into mytable set mycolumn = NULL"
Bemærk, at NULL ikke har nogen " omkring sig, fordi den nu er sammenkædet med den anden streng.
*(bemærk:insert into tablename set ..
ikke er korrekt, du enten insert
data eller du update tablename set
data.)