sql >> Database teknologi >  >> RDS >> Mysql

Er PHP's null-værdi ikke lig med MySQL's null-værdi?

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.)



  1. Dårlig hvor har præstation i Laravel

  2. postgreSQL mysql oracle forskelle

  3. MariaDB JSON_DEPTH() Forklaret

  4. Bedste måde at kontrollere, om mysql_query gav resultater?