我建立了我的网站,以以下格式写日期到数据库列: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
,我猜你不想插入回你的数据库。