Dat komt omdat PHP null
wordt geconverteerd naar de lege tekenreeks "" wanneer u de querytekenreeks maakt.
$variable = null;
$insert = "insert into mytable set mycolumn = $variable" ;
echo $insert;
Zal produceren:
insert into mytable set mycolumn =
Om uw vraag op te lossen, moet u controleren of de PHP-variabele null is en deze wijzigen in tekenreeks NULL. (Nu ook vermeld in de opmerking van @MarkB.)
if ($variable == null){
$variable = "NULL";
}
Dit levert:
"insert into mytable set mycolumn = NULL"
Houd er rekening mee dat er geen " om de NULL staat, omdat deze nu is samengevoegd met de andere tekenreeks.
*(opmerking:insert into tablename set ..
is niet correct, u insert
data of je update tablename set
gegevens.)