我正在为变量分配一个数值或用if语句写一个NULL,如果它是0.00
。
从我的PHP页面写入MySQL时,我试图传递此值,它总是为0.00
写NULL
。我猜这是因为我的插入语句正在发送.$price.
并且它将其视为引号?
如果我在插入之前回显$price
,它会向我显示它是NULL
但是在插入语句之后,它永远不会保留。
如何插入NULL
..因为我必须使用变量并发送值(如果有的话)?
答案 0 :(得分:2)
要将NULL
插入到表中,您实际上需要将字符串"NULL"
传递给查询,而不是PHP NULL
值。 PHP NULL
如果用单引号括起并传递给查询,将被解释为0
。
// If $price is NULL in PHP, set it to the string "NULL"
// Otherwise, set it to the current value of $price, but enclosed in single quotes as '$price'
$price = $price === NULL ? "NULL" : "'$price'";
// Then $price gets passed to your query either as NULL or as the single-quoted $price
mysql_query("INSERT INTO tbl (price) VALUES ($price);");
当然,在此之前你已经打过$price = mysql_real_escape_string($price);
......
答案 1 :(得分:0)
很难说因为你没有发布任何定义或代码,但可能你的表不允许NULL,因此它默认为类型的“零”值。