【发布时间】:2019-07-19 15:41:43
【问题描述】:
我正在尝试使用 mysqli 数据类型时间将计算出的时间存储到数据库中。计算意味着我正在尝试存储游戏时间或用户玩游戏所花费的时间。所以我有列spent_time,它的数据类型是time,我设置了默认值00:00:00。
当我尝试存储 5 分 30 秒 00:05:30 时,查询返回以下错误
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect time value: '' for column 'time_spent' at row 1
以下是使用查询插入记录的脚本
$Log = new Log;
$Log->user_id = request()->user()->id;
$Log->time_spent = $time;
$Log->save();
有人可以指导我如何解决此错误,我将不胜感激。谢谢
【问题讨论】:
-
您需要展示一些关于如何插入此值的代码。显然,您尝试插入的值是空的。
-
根据您的编辑,我们完全不知道
$time是什么。检查该变量的值。这应该是您的第一个调试步骤。 ;-) -
@Qirel 这是
00:15:07的值$time -
似乎 $time 变量在某处被一些空/空字符串值覆盖,显示控制器方法的完整代码?
-
那么您的
Log课程中可能发生了一些奇怪的事情,这应该是您检查的第二个 项。我真的猜不出来哪里出了问题,你需要做一些基本的调试并显示代码的所有相关部分,否则我们帮不了你。