我明白了:
<pre>
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | | | 3 (100)| |
| 1 | FOR UPDATE | | | | | |
| 2 | BUFFER SORT | | | | | |
| 3 | TABLE ACCESS FULL| DD | 4 | 160 | 3 (0)| 00:00:01 |
</pre>
让我解释一下会发生什么。 我有一个包含id,用户,名字,calender_week,start_week和end_week的数据库。
我基本上得到1到52之间的随机数
$ newcw = mt_rand(1,52);
它代表压延周。
下一行确实计算了我每个号码的那个星期的开始日(星期一)和结束日(星期日)。
接下来,我将新值插入并更新到我的数据库中。
现在什么行不通的是将foreach($result_set_cw_01 as $result_cw_01) {
$newcw = mt_rand(1, 52);
$week = $newcw;
$year = date("Y");
$time = mktime(0,0,0,1,1,$year) + ($week * 7 * 24 * 60 * 60);
$time = $time - ((date('N', $time) - 1) * 24 * 60 * 60);
$startWeek = date('Y-d-M', $time);
$endWeek = date('Y-d-M', $time + (6 * 24 * 60 * 60));
# Insert Random Calender Week
$set = array(
'calender_week' => $week,
'start_week' => $startWeek,
'end_week' => $endWeek,
);
$whereWeek = array('id = :id');
$valuesWeek = array('id' => $result_cw_01['id']);
$db->update($table, $set, $whereWeek, $valuesWeek);
}
和$startWeek
更新到我的数据库中。
如果我回复$endweek
,我会收到最后一位用户的日历周的$result_cw_01['calender_week']
和$startWeek
。
但如果我回复$endweek
和$startWeek
,我会得到该特定日历周的正确日期,但它无法正确保存。
任何人都可以提供帮助。
我更改了更新以选择并回复它: $ db-&gt; update($ table,$ set,$ whereWeek,$ valuesWeek);
$ db-&gt; select($ table,$ set,$ whereWeek,$ valuesWeek);
$endWeek
答案 0 :(得分:0)
因为你不应该使用格式&#39; Y-d-M&#39;但是&#39; Y-m-d&#39;