sql >> Databasteknik >  >> RDS >> Mysql

Är inte PHPs nollvärde lika med MySQL:s nollvärde?

Det beror på att PHP null konverteras till den tomma strängen "" när du skapar frågesträngen.

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

Kommer att producera:

insert into mytable set mycolumn = 

För att fixa din fråga måste du kontrollera om PHP-variabeln är null och ändra den till strängen NULL. (Även nämns nu i kommentaren från @MarkB.)

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

Detta kommer att producera:

"insert into mytable set mycolumn = NULL"

Observera att NULL inte har någon " runt sig eftersom den nu är sammanlänkad med den andra strängen.

*(notera:insert into tablename set .. inte är korrekt, du antingen insert data eller du update tablename set data.)



  1. java.lang.UnsatisfiedLinkError:ingen ocijdbc11 i java. bibliotek.sökväg

  2. Hur man aktiverar MySQL Slow Query Logga in MySQL

  3. Hur Round() fungerar i SQLite

  4. Hur ersätter man kommaseparerade avdelnings-ID med respektive namn?