首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP mysqli从字符串插入日期

PHP mysqli从字符串插入日期
EN

Stack Overflow用户
提问于 2014-07-30 03:55:08
回答 3查看 6.3K关注 0票数 2

我厌倦了那些约会的事。这就是我所尝试的:

代码语言:javascript
复制
$string         = '24/10/1985';
$bday           = explode('/', $string);
$insertbday     = $bday[2] . '-' . $bday[1] . '-' . $bday[0];
$insertbday     = date("Y-m-d", $insertbday);
mysqli_query($con, "INSERT INTO user (bday) VALUES ($insertbday)");

但ofc有0000-00-00。怎么做才对?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-30 03:57:07

date的第二个参数是时间戳。使用strtotime()转换$insertbday

更改这一行:

代码语言:javascript
复制
$insertbday = date("Y-m-d", $insertbday);

至:

代码语言:javascript
复制
$insertbday = date("Y-m-d", strtotime($insertbday));

更新

此外,在$insertbday周围添加单引号以查询:

代码语言:javascript
复制
mysqli_query($con, "INSERT INTO user (bday) VALUES ('$insertbday')");
票数 4
EN

Stack Overflow用户

发布于 2014-07-30 04:00:48

你应该试试这个

代码语言:javascript
复制
$string         = '24/10/1985';
$bday           = strtotime($string);
$insertbday     = date("Y-m-d", $bday);
mysqli_query($con, "INSERT INTO user (bday) VALUES ($insertbday)");
票数 1
EN

Stack Overflow用户

发布于 2014-07-30 04:05:41

date()期望有一个unix时间戳..。我想你是把日期当作字符串传递给你。

你应该试试这个:

代码语言:javascript
复制
$insertbday     = date("Y-m-d", strtotime($insertbday));

或者,除了strtotime()函数之外,还可以使用Datetime object进行尝试。

代码语言:javascript
复制
$NewBday= new DateTime($insertbday);
$NewBday= date( 'Y-m-d H:i:s', $NewBday);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25028506

复制
相关文章

相似问题

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