我有一个从输入值中插入日期的脚本:
PHP:
<input type="text" id="datepicker" name="expire" placeholder="dd-mm-yyyy" value="<?php echo (DateTime::createFromFormat('d-m-Y', date("d-m-Y"))->modify('+1 day')->format('d-m-Y')); ?>" /> 还可以通过日期选择器编辑日期!
但是,当我用以下查询将其插入数据库时:
$mysql->query("INSERT INTO code(code, file_match, file_size, expire, ip, can_used)
VALUES ('".$mysql->real_escape_string($_POST['code'])."',
'".$mysql->real_escape_string($_POST['bestand'])."',
'".filesize('./Hier_je_files/'.$mysql->real_escape_string($_POST['bestand']))."',
'".time($mysql->real_escape_string($_POST['expire']))."',
'".$mysql->real_escape_string($_POST['ip_whitelist'])."',
'".$mysql->real_escape_string($_POST['used'])."')"然后用这句话回应:
<?php echo date('d-m-Y H:i:s', $info['expire']); ?>输出始终是今天的日期:

数据库:

我不知道为什么,也不知道怎么解决。
发布于 2013-11-23 10:14:29
尝尝这个
<?php echo date('d-m-Y H:i:s', strtotime($info['expire'])); ?>发布于 2013-11-23 10:23:35
插入查询在数据库时间戳中插入(将日期转换为时间戳)。为此,要么将日期插入为
$_POST['expire'] = time($mysql->real_escape_string($_POST['expire']));
$_POST['expire'] = date("d-m-Y H:i:s",$_POST['expire']);然后,
$mysql->query("INSERT INTO code(code, file_match, file_size, expire, ip, can_used) VALUES ('".$mysql->real_escape_string($_POST['code'])."', '".$mysql->real_escape_string($_POST['bestand'])."', '".filesize('./Hier_je_files/'.$mysql->real_escape_string($_POST['bestand']))."', '".$_POST['expire']."', '".$mysql->real_escape_string($_POST['ip_whitelist'])."', '".$mysql->real_escape_string($_POST['used'])."');"或
<?php echo date('d-m-Y H:i:s', strtotime($info['expire'])); ?>发布于 2013-11-23 10:23:52
为此您必须使用strtotime函数,因为time函数总是返回当前时间。
示例用法-
在你的例子中,像这样重复日期-
<?php echo date('d-m-Y H:i:s', strtotime($info['expire'])); ?>https://stackoverflow.com/questions/20161028
复制相似问题