您好,我想以与MySQL DateTime格式兼容的格式将日期和时间发送到mysql数据库,格式为: 0000-00-00 00:00:00 :00 ...
我使用下面的代码从PHP命令中获取日期和时间:
$insert = "INSERT INTO sms (ref, texto, fecha)
VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', '".date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000))."')";
$add_member = mysql_query($insert);我真的很想这样做,但是使用MySQL命令,我的意思是,使用来自mysql服务器的日期和时间。谢谢
发布于 2010-06-01 11:56:04
在插入记录INSERT INTO table (date) VALUES (NOW())时使用NOW()
对于您的代码:
$insert = "INSERT INTO sms (ref, texto, fecha)
VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', NOW() )";
$add_member = mysql_query($insert);发布于 2010-06-01 16:03:38
MySQL只允许有限数量的日期格式作为输入。来自MySQL manual
仅支持以下各节中介绍的格式。希望您提供合法的值。如果使用其他格式的值,可能会出现不可预知的结果。
您提供的日期格式为Y-m-d\TH:i:sP ( DATE_ATOM常量的值),这是MySQL不支持的(尽管它可能会被解析并正确存储,具体取决于当前的SQL模式)。
您应该改用date('Y-m-d H:i:s', ...)。
另外,是的,你应该保护你的代码不受SQL注入的影响。
发布于 2010-06-01 16:22:32
$date = date("Y-m-d H:i:s", mktime(0, 0, 0, 7, 1, 2000));
$usuario = mysql_real_escape_string($_POST['usuario']);
$sms = mysql_real_escape_string($_POST['sms']);
$date = mysql_real_escape_string($date);
$sql = "INSERT INTO sms (ref, texto, fecha) VALUES ('$usuario', '$sms', '$date')";
mysql_query($sql) or trigger_error(mysql_error().$sql);https://stackoverflow.com/questions/2947184
复制相似问题