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

标签 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 拦截该函数,但我需要首先知道所需的语法。

谢谢

史蒂夫

最佳答案

如果我理解正确的话,您有一些不适合 MySQL 的格式的日期,但您想将它们用于 INSERT,对吗?

让 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 注入(inject)。 p4a 是否为您涵盖了这一点,或者提供了位置参数?

祝你好运。

关于php - 更改 p4a 字段中 MySQL 的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13359411/

相关文章:

php - 有没有办法自动调整数据库名、用户名和密码

mysql - SQL 连接具有两种类型的元素表

php - 如何将当前记录移动到另一个表并删除当前记录

php - 从用 mysql 5.5 编写的数据库迁移到用 mysql 5.0 编写的数据库

php - zend docroot 没有改变

zend-framework - Zend_Date::toString() 输出错误的年份。我的代码或 Zend_Date 中的错误?

php - Zend 文件字段的错误 - 文件名不会以 zend 形式重新填充

php - 提交表单而不刷新页面

php - Apache不会请求我的SSL客户端证书

php - 使用谷歌分析跟踪重定向页面