我一直在研究这个问题几天,我的大脑终于麻木了。我的UPDATE只是更新数据库中的每个StartDate,但我希望它只对包含此UPDATE的while循环中的事件起作用。我认为代码可能相当明显,所以这里是:
$query = "SELECT * FROM events WHERE ParentEventID='$tempParentEventID' AND GoogleID IS NULL";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$tempDaysFromEvent = $row['DaysFromEvent'];
$tempStartDate = $row['StartDate'];
//IF STARTDATE IS DIFFERENT FROM HOW IT USED TO BE, UPDATE IT.
list($year, $month, $day) = explode("-", $tempStartDate);
$tempStartDate = $tempEndDate = date("Y-m-d", mktime (0,0,0,$month,$day+$tempDaysFromEvent,$year));
mysql_query("UPDATE".$eventDatabase." SET
StartDate = '$tempStartDate'");
}
我希望上面的内容足够清楚。我试图在循环中更改每个$行中的StartDate。
答案 0 :(得分:6)
如何添加where子句。
"UPDATE table SET field = '$sValue' WHERE eventID = ".$aRow['eventId']);
答案 1 :(得分:2)
查询应为
"UPDATE".$eventDatabase." SET StartDate = '$tempStartDate' WHERE EventId =". $row['evenID'];
答案 2 :(得分:1)
只需在update-statement中添加WHERE
- 子句:
UPDATE table SET StartDate = ... WHERE [whatever*]
*你没有发布表格定义,但听起来你应该在这里使用你的event-id。
答案 3 :(得分:1)
您需要在UPDATE语句中使用WHERE
- 子句来标识要更新的行。