我還是一個將查詢寫入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的日期時間,但這不應該問題,我不認爲?
你得到任何mysql的錯誤,我可以嗎?查看你的查詢中缺少一些空格:'mysql_query(「UPDATE」。$ eventDatabase。「SET StartDate ='$ tempStartDate',EndDate ='$ tempEndDate'where EventID ='$ tempEventID'」);' – Dirk
總是做mysql_query(...)或die(mysql_error());',特別是在開發過程中。Dirk的解決方案是:你有一個錯誤的語法錯誤查詢,並且執行'或die()'會顯示它給你立即 –
請發佈查詢作爲回聲的輸出,所以我們可以看到是否正確解析變量等。另外,您可以使用或死(mysql_error())g如果查詢出錯,請輸入錯誤 – strauberry