2016-11-25 142 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, 希望能幫到你,謝謝你