将类似日期的字符串保存到数据库,但 MYSQL 将其转换为十进制字符串

Save date-like string to database but MYSQL converts it to decimal string

我正在尝试使用 php.

行将字符串变量保存到 mysql 中
'UPDATE `printed` SET `letterReturned`= '.$returnedDate.'  WHERE `defendantId` = '. $defendantId.';';

$returnedDate 是一个类似于“10/01/2018”的字符串。我已经用 gettype 验证它进入时是一个字符串,但最终在数据库中是这样的:0.004955401387512388

它到底是如何保存为小数的?我很困惑,无法通过谷歌搜索找到与此相关的任何内容。这种东西必须有一个名字。

任何想法非常感谢。请赐教。

有趣的情况!!! :D

注意计算 10 / 1 / 2018 = 0.004955401387512388

您在原始查询分配中缺少引号,然后在将值插入 table 之前执行算术除法。

尝试:

$query = "UPDATE `printed` SET `letterReturned`= '".$returnedDate."'  WHERE `defendantId` = ". $defendantId.";";

如评论中所建议,请查看 When to use single quotes, double quotes, and back ticks in MySQL 进行说明。