PHP strtotime返回空值



我建立了我的网站,以以下格式写日期到数据库列:2014/04/01

现在我已经意识到,当我想按日期排序或操作日期时,这是没有帮助的,所以我决定将所有日期更改为时间戳。

i应用以下修复:

    $sql = mysql_query("SELECT * FROM TABLE")or(die(mysql_Error()));
while($info = mysql_fetch_array($sql)){
        $newdate = strtotime($info['date']);
        mysql_query("UPDATE TABLE SET date = '$newdate' WHERE id = $info[id]")or(die(mysql_error()));
}

问题是所有的日期列现在都是空的,我做错了什么?

这一行有一个语法错误:

mysql_query("UPDATE TABLE SET date = '$newdate' WHERE id = $info[id]")
    or(die(mysql_error()));

试试改成:

mysql_query("UPDATE TABLE SET date = '$newdate' WHERE id = {$info['id']}")
    or (die(mysql_error()));

原因是,当插入数组索引到一个字符串,你必须围绕它们与{}或PHP将只是试图将$info转换成一个字符串,并插入[id]之后,我猜你没有打算。

我还建议检查strtotime的返回值。如果它不能解析一个日期,它返回false,我猜你不想插入回你的数据库。

最新更新