PHP - MySQL试图设置value ="0" - 它是NULL

Nam*_*mek -1 php mysql

我只是想设置一些值="0",但它会自动转换为NULL.

$result_checkups = mysql_query("INSERT INTO TABLE1 (COL1, COL2) VALUES (".(!empty($COL1) ? "'$COL1'" : "NULL").", ".(!empty($COL2) ? "'$COL2'" : "NULL").") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

这是我的代码 - 它看起来很奇怪,因为我需要设置NULL,当有人试图设置空字符串("").但现在,当时COL2="0",它NULL落后于MySQL(要清除,何时COL2="1",它是落后于MySQL的"1").哪里有问题?

MySQL表:

CREATE TABLE `TABLE1` (
  `COL1` TIMESTAMP NULL DEFAULT NOW(),
  `COL2` TINYINT(1) NULL);
Run Code Online (Sandbox Code Playgroud)

BaB*_*L86 6

因为

php -r 'echo empty(0);'
1
php -r 'echo empty("0");'
1
Run Code Online (Sandbox Code Playgroud)

0是空的.尝试将您的陈述更改为:

$result_checkups = mysql_query("INSERT INTO TABLE1 (COL1, COL2) VALUES (".(($COL1==='') ?  "NULL" : "'$COL1'").", ".(($COL2==='') ? "NULL" : "'$COL2'").")") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)