首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过csv文件将日期导入mysql时出现问题

通过csv文件将日期导入mysql时出现问题
EN

Stack Overflow用户
提问于 2018-10-09 17:42:24
回答 3查看 413关注 0票数 1

我希望有人能给我一个快速回答我的问题,因为我不是很好的PHP和MySQL。

我想导入一个CSV文件,其中包含2个日期:1-5-201731-5-2018

当我通过mysql导入csv时,日期看起来像0000-00-00

我的代码:

代码语言:javascript
复制
while (($column = fgetcsv($file, 10000, ";")) !== FALSE) {
    $sqlInsert = "INSERT into employees (naam,functie,afdeling,contract,DID,DUD,manager,profiel)
                  values ('" . $column[0] . "','" . $column[1] . "','" . $column[2] . "','" . $column[3] . "','" . $column[4] . "', '" . $column[5] . "','" . $column[6] . "','" . $column[7] . "')";
    $result = mysqli_query($conn, $sqlInsert);

谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-10-09 17:54:57

您没有指出哪一列是naam,functie,afdeling,contract,DID,DUD,manager,profiel中的日期字段,您可以使用函数strtotimedate来转换此日期格式

就像下面的代码

$column[2] = date('Y-m-d', strtotime($column[2]));

例如

代码语言:javascript
复制
// this will print 2017-05-01
echo date('Y-m-d', strtotime('1-5-2017'));
票数 0
EN

Stack Overflow用户

发布于 2018-10-09 17:56:13

使用以下代码转换日期格式

代码语言:javascript
复制
  $date="1-5-2017";
  $convertedDate=date("Y-m-d", strtotime($date));
票数 0
EN

Stack Overflow用户

发布于 2018-10-09 18:02:08

而不是这样

代码语言:javascript
复制
STR_TO_DATE('15-06-2017', '%Y/%m/%d')

尝尝这个

代码语言:javascript
复制
STR_TO_DATE('15-06-2017', '%Y-%m-%d')

这应该在下面提到work.Sample Sql查询。

代码语言:javascript
复制
INSERT INTO `table1` (`col1`, `col2`, `col3`, `col4`) VALUES ('1', '1', '1',STR_TO_DATE('15-06-2017','%Y-%m-%d'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52717913

复制
相关文章

相似问题

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