在p4a字段中更改MySQL的日期格式

时间:2012-11-13 10:50:33

标签: php mysql zend-framework

我正在使用p4a应用程序框架,我已经构建了几个数据库,其中一个需要收集预订日期,我知道没有办法通过MySQL做到这一点,但我没有找到任何有用的东西关于这个p4a论坛上所有使用p4a框架的人都可以提供帮助,我将不胜感激,

我的本​​地设置为en_GB,它将p4a字段中的日期设置为dd-mm-yyyy,但我需要它yyyy-mm-dd才能将数据实际写入数据库,

此操作的当前代码是:

$this->build("p4a_field","date")
         ->setlabel("Date")
         ->setType('date')

$location = $this->AreaName->getNewValue();
    $date = $this->date->getNewValue();
    $merono = $this->merono->getNewValue();

    $p4a = p4a::singleton();


$p4a->i18n->autoUnformat($date, "shortdate");

    p4a_db::singleton()->query("INSERT INTO meetingrooms(location, date, merono)
        VALUES
        ('$location', '$date', '$merono')");

任何帮助都会受到赞赏,我计划使用afterClick拦截函数,但我需要先了解所需的语法。

谢谢,

史蒂夫

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你有一些非MySQL友好格式的日期,但你想将它们用于INSERTs,对吗?

如何让MySQL convert them for you

SELECT STR_TO_DATE('31-12-2012','%d-%m-%Y');
    -> '2012-12-31'

编辑:

看起来你有日期:

$date = $this->date->getNewValue();

所以你需要在SQL中使用公式:

p4a_db::singleton()->query("INSERT INTO meetingrooms(location, date, merono)
VALUES
('$location', STR_TO_DATE('$date','%d-%m-%Y'), '$merono')");

我不是一个p4a的家伙,所以希望它会起作用。

请注意,在大多数语言中,您将使用类似的代码向SQL注入公开。 p4a是否适合您,或提供位置参数?

祝你好运。