2016-11-25 103 views
0

这是我的代码,用于更新具有字段WorkoutID = $ currentWorkoutID的所有记录的日期字段。当我运行查询时,日期更改为0000-00-00,而不是当前日期。我怎样才能解决这个问题? Btw DB :: getInstance()执行查询。我认为实际查询出了问题?为什么这个MySQL更新查询不起作用?

$currentWorkoutID = $_SESSION['GlobalWorkoutID']; 
echo $currentWorkoutID; 

$date = date("y/m/d"); 
echo $date; 

$sql = "UPDATE workout SET Date = ".$date." WHERE WorkoutID = ".$currentWorkoutID.""; 
DB::getInstance()->query($sql); 
+2

因为你没有逃脱的变量。为什么不使用准备好的陈述而不是 – e4c5

+0

我的老师教会了我这样的 – Andy

+0

试试这个“UPDATE workout SET Date =”。$ date。“WHERE WorkoutID ='”。$ currentWorkoutID。' – user3099298

回答

0

包含日期单引号'

$sql = "UPDATE workout SET Date = '".$date."' WHERE WorkoutID = ".$currentWorkoutID.""; 
           ^  ^
0

试试这个

$sql = "UPDATE workout SET `Date` = '".$date."' WHERE WorkoutID = ".$currentWorkoutID.""; 

因为日期是保留关键字

0

我的答案 $ SQL同意解除= “更新锻炼SET日期='”。$日期“。'WHERE WorkoutID =”。$ currentWorkoutID。“”;

因为也许日期的类型为String, 希望能帮到你,谢谢你