0

基本上我正在尝试向我的数据库添加一个日期(只是一个日期,而不是日期时间)

这是我到目前为止所拥有的:

$wpdb->insert(
    'my_table',
     array('date-adding'=>date('Y-m-d', '1994-06-14')), 
     array('%F')
);

它只是插入0000-00-00,所以它的一些简单的东西是错误的 -%F可能但无法弄清楚是什么。

谢谢

4

2 回答 2

3

你的PHPdate()函数是错误的,你想完成什么?第二个参数应该是 UNIX 时间戳,而不是日期字符串。由于您也只是为其提供了一个静态时间字符串,因此只需使用 '1994-06-14',没有理由尝试使用该date()功能。

如果您想要使用字符串进行动态处理,请尝试以下操作:

date('Y-m-d', strtotime($dynamic_date_string))

讨论后编辑: 根本问题原来是第三个参数格式化字符串将日期格式化为浮点数。由于没有理由格式化日期,删除该可选参数解决了这个问题。此外,使用将输入格式化为字符串%s也可以。

于 2013-08-27T16:02:11.063 回答
1

可能的解决方案:

使用strtotime()date()

$originalDate = "2010-03-21";
$newDate = date("d-m-Y", strtotime($originalDate));

来源:https ://stackoverflow.com/a/2487938/1415724


编辑#2

看看这个:

<html>
<head>
<title>..</title>
<body>
<form action="work1.php" method="post">
Value1: <input type="text" name="date"><br>
<input type="Submit"/>
</form>
</body>
</head>
</html>

<?php
$username="root";
$password="abcdef";
$database="test_date";
$date=$_POST["date"];  // Your First Problem Post value
echo $date;
echo "i m here";
$date = date("Y/m/d", strtotime($date));   // 2nd Problem Date Format
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");

$query = "INSERT INTO date VALUES('','$date')";

mysql_query($query);

mysql_close();
?>

来源:http ://www.daniweb.com/web-development/php/threads/300356/date-stored-in-mysql-as-0000-00-00

或者:

$date = date("Y-m-d", strtotime($_POST['date']));
$result = mysqli_query($link,"INSERT INTO visit_exclude_dates (date) VALUES ('{$date}')");

if(!$result) {
    echo "Error: " . $link->error);
    die();
}

$result->close();
$link->close();

来源:https ://stackoverflow.com/a/16991316/1415724


“编辑”

鉴于数据来自输入表单字段,这是一个更新的答案。

如果您尝试将数据作为“字符串”传递,请改用双引号。

即:$string="1994-06-14";相比$string='1994-06-14';

在 PHP 中的处理方式不同。

尝试使用以下示例:

<input type="text" name="date_input" value="<?php echo htmlspecialchars($date); ?>" />
于 2013-08-27T16:01:50.200 回答