我有一个带有十进制列的Mysql表,允许NULL
s。如果我在PHP的预处理语句中将0作为double传递,则我的0在Mysql列中变为NULL。
如何获取值0而不是NULL
?
PS:我使用以下代码插入值
$query2 = "insert into TableName
(Id, anotherId, date,
`MinValue`, `MaxValue`,
`oneMoreId`, `Comment`)
values
(?, ?, '2016-06-23',
?, ?,
?, ?)";
$stmt = $connection->prepare($query2);
$stmt->bind_param('iiddis', $Id, $anotherId,
$minValue, $maxValue, $oneMoreId,
$comment);
$stmt->execute();
编辑:@YourCommonSense回答后,我发现我的代码中有错误。在我发布的行之上,我的值从0更改为NULL
。我的错,抱歉,伙计们!
答案 0 :(得分:3)
如果我在PHP的预处理语句中将0作为double传递,则我的0在Mysql列中变为NULL。
事实并非如此。
如果传递0,则将其存储为0 但是如果你传递NULL,那么它将被存储为NULL。
因此,您传递的是NULL值,而不是0.
检查您的值并在必要时进行投射。