首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日期()插入数据库不起作用

问将日期()插入数据库不起作用
EN

Stack Overflow用户
提问于 2012-03-26 00:46:11
回答 2查看 613关注 0票数 0

我将$date设置为当前时间,当我将它插入到数据库中时,它显示为一个很长的小数。

例如。0.000059642147117296

代码如下:

HTML

代码语言:javascript
复制
 <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

代码语言:javascript
复制
 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。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-26 00:50:13

您忽略了引用日期值,因此系统会计算类似于3/25/2012的值(这就是您看到的0.00005642147117296 )。

您指定的日期格式也不正确。它必须是Y-m-d格式。

最后,您的数据库字段很可能没有定义为日期,因此请确保更正表定义。

票数 2
EN

Stack Overflow用户

发布于 2012-03-26 01:40:30

由于您使用curren系统时间进行插入,因此到目前为止,使用

代码语言:javascript
复制
INSERT INTO ... (datefield) VALUES (NOW()) 

并让数据库生成自己的日期值。这省去了在PHP中生成字符串、对字符串进行引号/转义,然后让MySQL将该字符串解析回自己的格式的麻烦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9861994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档