我将$ date设置为当前时间,当我将其插入数据库时,它显示为长小数。
离。 0.000059642147117296
以下是代码:
HTML
<form id="comments" action="<?=site_url('headquarters/scopeSummary')?>" method="POST">
<textarea name="comment" cols="70" rows="5"></textarea>
<input type="hidden" name="scopeId" value="<?=$id?>" />
<input type="hidden" name="user" value="<?=$user?>" />
<br />
Mark as important?<input type="checkbox" name="important" value="yes" />
<input type="submit" value="Submit" name="submit" />
</form>
PHP
if ($comment) {
$date = date('n/d/Y', time());
$comQuery = $this->db->query('INSERT INTO scope_comments VALUES(NULL, "'. $scopeId .'", "'. $comment .'", "'. $user .'", "", "", '. $date .', "'. $gravity .'")');
}
设置了所有插入的值。他们不是问题。只有$ date搞砸了。我使用codeigniter和phpmyadmin。
答案 0 :(得分:2)
您忽略了引用日期值,因此系统正在计算类似于3/25/2012(您看到的0.00005642147117296
)的内容。
您还以错误的格式指定日期。它必须是Y-m-d
格式。
最后,很可能您的数据库字段未定义为日期,因此请确保更正该表定义。
答案 1 :(得分:0)
由于您正在使用当前的系统时间进行插入,因此
更容易实现INSERT INTO ... (datefield) VALUES (NOW())
让数据库生成自己的日期值。这样可以省去必须在PHP中生成字符串,引用/转义字符串,然后让MySQL将该字符串解析为自己的格式的麻烦。