将RSS pubdate转换为mysql数据库中的时间戳

时间:2018-01-23 15:43:41

标签: php mysql rss

我在mysql中的表feed有一个名为timestring的RSS pubDate列。 我想添加一个额外的列pubDate_Date,并将RSS timestring作为实际日期插入。

我创建了附加列formatted as DATE并尝试使用以下代码用数据更新新列,但不知怎的,我无法使其正常工作。我是新手。

function pubDateToMySql($str){
    return date('Y-m-d H:i:s', strtotime($str));
};

$sqlCommand = "SELECT * FROM feeds ORDER BY id ASC"; 
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
while ($row = mysqli_fetch_array($query)) { 
    $id = $row["id"];
    $pubDate = $row["pubDate"];
    $pubDate_Date = pubDateToMySql($pubDate); 
    $sql = mysqli_query($myConnection, "UPDATE feeds SET pubDate_Date = 
    $pubDate_Date WHERE ID = $id");
} 
mysqli_free_result($query);

2 个答案:

答案 0 :(得分:0)

在此SQL查询UPDATE feeds SET pubDate_Date = $pubDate_Date WHERE ID = $id中,您必须使用'中的日期值,如下所示:

UPDATE feeds SET pubDate_Date = '$pubDate_Date' WHERE ID = $id

还要检查数据库中的collumn pubDate_Date的类型

答案 1 :(得分:0)

要完成这篇文章,我最终会这样做:

UPDATE feeds SET pubDate_Date = STR_TO_DATE(pubDate, '%a, %d %b %Y %T')