2

我正在使用 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但我需要先了解所需的语法。

谢谢,

史蒂夫

4

1 回答 1

2

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

让 MySQL为您转换它们怎么样?

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 是否为您提供了这些内容,或者提供了位置参数?

祝你好运。

于 2012-11-13T18:08:51.733 回答