2011-06-27 52 views
0

我還是一個將查詢寫入mysql的新手,所以我確信這是一個新手的錯誤,但我無法弄清楚。爲什麼這個while循環沒有更新我的mysql查詢?

下面是代碼(有很多的回波,所以我可以證明我的輸出):

while($row = mysql_fetch_array($tempresult, MYSQL_ASSOC)){ 


$tempStartDate = $StartDate; 
$tempEventID = $row['EventID']; 
$tempDaysFromEvent = $row['DaysFromEvent']; 

echo "Main Event Start Date: ".$tempStartDate."<br>"; 
echo "EventID: ".$tempEventID.", Start Date: ".$tempStartDate.", Days From Event: ".$tempDaysFromEvent.", Parent Event ID: ".$tempParentEventID."<br>"; 

$newtempStartDate = explode(" ", $tempStartDate); 
echo "New Temp Start Date: ".$newtempStartDate[0]; 
echo "<br>"; 

    list($year, $month, $day) = explode("-", $newtempStartDate[0]); 
echo $year." ". $month. " ". $day; 
echo "<br>"; 
$tempStartDate = $tempEndDate = date("Y-m-d", mktime(0,0,0,$month,($day+$tempDaysFromEvent),$year)) . " 00:00:00"; 
echo "TempStart Date:".$tempStartDate."<br>"; 

mysql_query("UPDATE".$eventDatabase." SET StartDate='$tempStartDate',EndDate='$tempEndDate'where EventID ='$tempEventID'"); 

    error_reporting(E_ALL); 


} 

這裏是我的輸出:

Main Event Start Date: 2011-07-04 15:00:00 
EventID: 4876, Start Date: 2011-07-04 15:00:00, Days From Event: 4, Parent Event ID: 4865 
New Temp Start Date: 2011-07-04 
2011 07 04 
TempStart Date:2011-07-08 00:00:00 

輸出看起來正確的我,它看起來像我希望它在數據庫中查找。我不知道這個問題是否是因爲$ tempStartDate是一個字符串?這是在MySQL的日期時間,但這不應該問題,我不認爲?

+3

你得到任何mysql的錯誤,我可以嗎?查看你的查詢中缺少一些空格:'mysql_query(「UPDATE」。$ eventDatabase。「SET StartDate ='$ tempStartDate',EndDate ='$ tempEndDate'where EventID ='$ tempEventID'」);' – Dirk

+1

總是做mysql_query(...)或die(mysql_error());',特別是在開發過程中。Dirk的解決方案是:你有一個錯誤的語法錯誤查詢,並且執行'或die()'會顯示它給你立即 –

+0

請發佈查詢作爲回聲的輸出,所以我們可以看到是否正確解析變量等。另外,您可以使用或死(mysql_error())g如果查詢出錯,請輸入錯誤 – strauberry

回答

2

如上面註釋中所述,看起來您在SQL語句中缺少空格。這種替換您的通話mysql_query()

mysql_query("UPDATE $eventDatabase SET StartDate='$tempStartDate', EndDate='$tempEndDate' WHERE EventID='$tempEventID'"); 

有疑問時,你總是可以先指定SQL查詢字符串變量和echo字符串,這樣就可以看到完整的SQL語句,包括變量值。

2

嘗試回顯實際的sql命令。看起來你需要「更新」後有一個空格,前「,其中事件ID = XXX「。

嘗試和SQL管理頁面從回聲執行實際輸出

相關問題