Това е така, защото PHP null
се преобразува в празния низ "", когато създадете низа на заявката.
$variable = null;
$insert = "insert into mytable set mycolumn = $variable" ;
echo $insert;
Ще произведе:
insert into mytable set mycolumn =
За да коригирате заявката си, ще трябва да проверите дали PHP променливата е нула и да я промените на низ NULL. (Също споменато в коментара на @MarkB.)
if ($variable == null){
$variable = "NULL";
}
Това ще доведе до:
"insert into mytable set mycolumn = NULL"
Обърнете внимание, че NULL няма " около себе си, защото сега е свързан с другия низ.
*(забележка:insert into tablename set ..
не е правилно, вие или insert
данни или update tablename set
данни.)