将当前日期添加到DATE表mysql ERROR

时间:2014-03-06 00:31:23

标签: php mysql sql date

我在将我的日期输入SQL表时遇到一些问题。 我不使用datetime,而是使用date。

这是我使用的代码,问题是我的SQL服务器无法将$ date_add识别为日期,只是将default 0000-00-00放在日期部分......

if (isset($_POST['postbutton'])){
                $articlepost = nl2br($_POST['article'])."<br>";

                date_default_timezone_set('Europe/Oslo');
                $datepic = date(YYYY-MM-DD);


                $pictureurls = $_SESSION['urlpost'];
                $thumbnail = 123;
                $title = $_POST['title'];
                $date_add = $datepic;
                $articlepostimg = $articlepost.$pictureurls;

                $insertpost = $db->prepare("INSERT INTO posts (title,post,date_add,thumbnail) VALUES (:title,:post,:date_add,:thumbnail)");
                $insertpost->execute(array(':title' => $title, ':post' => $articlepostimg, ':date_add' => $date_add, ':thumbnail' => $thumbnail));
                unset($_SESSION['urlpost']);

            }

以下是我提交表单后在数据库中看到的内容:

enter image description here

3 个答案:

答案 0 :(得分:1)

尝试以下方法:

$datepic = date("Y-m-d");

Heredate()

的文档

至于评论中添加的问题,在检索日期后,您需要执行以下操作,其中$orig_date分配了从数据库中检索的日期。至于将其转换为挪威语,我认为你必须调查setlocale(),我认为这是一个不同的问题。

$formatted_date = date('j, M Y', strtotime($orig_date));

答案 1 :(得分:0)

您需要使用双引号或引号才能使date()功能正常工作

$datepic = date('YYYY-MM-DD');

答案 2 :(得分:0)

这只是为了在看到OP要求用挪威语进行语言转换后添加已经给出的答案,并且绝不是要踩到任何人的脚,而是作为一个免费的答案。

您可以使用法语版的以下月份转换代码,但您可以使用挪威语轻松修改它。

请注意,“火星”的拼写方式相同。

(取自我自己的代码库)

<?php
// enter date format 2011-01-31 (Y-m-d)
function date_in_french ($date){
$week_name = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$month_name=array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août",
"Septembre","Octobre","Novembre","Décembre");

$split = preg_split('/-/', $date);
$year = $split[0];
$month = round($split[1]);
$day = round($split[2]);

$week_day = date("w", mktime(12, 0, 0, $month, $day, $year));
return $date_fr = $week_name[$week_day] .' '. $day .' '. $month_name[$month] .' '. $year;
}
$currentDate=date('Y-m-d');
echo "Current Date: ";
echo date('D')." ".date('d')." ".date('M')." ".date('Y');
echo "<br>";
echo "Date in French => ".date_in_french($currentDate);
?>