PHP日期,加上$ _POST的月份

时间:2011-11-08 19:29:19

标签: php database date

这段代码出了什么问题:

'tiercommissionexpiration' => date('Y-m + $post["billingPeriodExpiration"]-d', strtotime($post['commissionEligibilityDate'])),

commissionEligibilityDate是一个日期,我想将一个输入文本字段$_POST['billingPeriodExpiration']的特定数字添加到数据库'teircommissionexpiration'

由于

7 个答案:

答案 0 :(得分:2)

我建议您阅读有关PHP stringsdate函数的内容。我不知道您尝试POST的价值是多少,但是您不能将POST值插入到这样的单引号字符串中,并且在任何情况下它都是$_POST

date('Y-m' . $_POST['billingPeriodExpiration'] . '-d', ...)
date("Y-m{$_POST['billingPeriodExpiration']}-d', ...)

这两者都不会起作用,但至少在语法上对于PHP的解析是正确的 - 即使date()仍然会失败。

答案 1 :(得分:1)

我认为错误在于$post['billingPeriodExpiration']的错误拼写。您应该写$_POST而不是$post。无论如何,你还要双引号字符串(不是单引号)。

答案 2 :(得分:0)

将$ post [“billingPeriodExpiration”]替换为$ _POST ['billingPeriodExpiration']

答案 3 :(得分:0)

'Y-m + $post["billingPeriodExpiration"]-d'

应该是

"Y-m + {$_POST['billingPeriodExpiration']}-d"

请注意双引号和花括号。

答案 4 :(得分:0)

首先,您不能将变量嵌入到单个撇号字符串中。

其次,通过$ post你可能应该写$ _POST

而不是theese函数,请尝试使用DateTimeDateInterval类。

答案 5 :(得分:0)

'tiercommissionexpiration' => date("Y-m + {$_POST["billingPeriodExpiration"]-d}", strtotime($_POST['commissionEligibilityDate'])),

变量不会在单引号(')中被拾取,而$_POST var必须是大写并且具有下划线。另外,您应该在字符串中使用数组变量周围的括号{}。 (例如$n = "your name is {$user["name"]}";

答案 6 :(得分:0)

将变量包含在{}中是一种良好的做法,如下所示:

date("Y-m + {$post['billingPeriodExpiration']}-d")

这样PHP就不会抱怨数组索引的单引号''