sql >> Databáze >  >> RDS >> Mysql

Není hodnota null PHP rovna nulové hodnotě MySQL?

Je to proto, že PHP null se při vytváření řetězce dotazu převede na prázdný řetězec "".

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

Vyrobí:

insert into mytable set mycolumn = 

Chcete-li opravit svůj dotaz, budete muset zkontrolovat, zda je proměnná PHP null, a změnit ji na řetězec NULL. (Nyní také zmíněno v komentáři @MarkB.)

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

Tím vznikne:

"insert into mytable set mycolumn = NULL"

Všimněte si, že NULL nemá kolem sebe žádný ", protože je nyní zřetězen s druhým řetězcem.

*(poznámka:insert into tablename set .. není správné, buď insert data nebo update tablename set údaje.)



  1. MySQL versus MariaDB

  2. Korupce MS Access, část 2:Nejlepší postupy pro prevenci a obnovu

  3. Sloupec tabulky Mysql nemůže být null

  4. Zabránit duplicitním záznamům SQL